【问题标题】:Android using Firebase Build APK working fine but release APK crashesAndroid 使用 Firebase Build APK 工作正常,但发布 APK 崩溃
【发布时间】:2017-07-22 04:32:58
【问题描述】:
public class Gallery extends AppCompatActivity {
static ArrayList<String> images;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_gallery);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle("Gallery");

        toolbar.setTitleTextColor(ContextCompat.getColor(Gallery.this, R.color.white));
        images = new ArrayList<>();
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                onBackPressed();
            }
        });
        final GridView gridview = (GridView) findViewById(R.id.gridview);
        final ProgressDialog progressDialog = new ProgressDialog(Gallery.this);
        progressDialog.setMessage("Loading data...");
        progressDialog.show();
        ConnectivityManager manager = (ConnectivityManager) getApplicationContext().getSystemService(CONNECTIVITY_SERVICE);
        NetworkInfo info = manager.getActiveNetworkInfo();
        final boolean isconnected = info != null && info.isConnectedOrConnecting();
        Firebase.setAndroidContext(Gallery.this);
        if (Firebase.getDefaultConfig().isPersistenceEnabled() == false)   //check if persistence is enabled or disbled
            Firebase.getDefaultConfig().setPersistenceEnabled(true);
        String URL = "someurl";
        Firebase firebase = new Firebase(URL);
        final ImageAdapter adapter = new ImageAdapter(Gallery.this, images);

        final Firebase imagefolder = firebase.child("imagesfolder");
        imagefolder.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                    images.add(snapshot.getValue(String.class));
                    adapter.notifyDataSetChanged();
                }
            }

            @Override
            public void onCancelled(FirebaseError firebaseError) {

            }
        });

} }

这是来自 android 设备监视器的崩溃报告

java.lang.RuntimeException: 出了点问题,请报告给 支持@firebase.com 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 在 android.app.ActivityThread.access$800(ActivityThread.java:135) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 在 android.os.Handler.dispatchMessage(Handler.java:102) 在 android.os.Looper.loop(Looper.java:136) 在 android.app.ActivityThread.main(ActivityThread.java:5017) 在 java.lang.reflect.Method.invokeNative(Method.java) 在 java.lang.reflect.Method.invoke(Method.java:515) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 在 dalvik.system.NativeStart.main(NativeStart.java)

【问题讨论】:

  • 您需要在应用程序的 Firebase 控制台中使用 keystore.jks 文件从发布 apk 更新 SHA1 证书
  • SHA1 已更新。错误保持不变

标签: java android firebase


【解决方案1】:

通过使用 DatabaseReference 类而不是使用 Firebase 解决了该错误

private DatabaseReference mDatabase;
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    mDatabase=database.getReference().child("imagesfolder");
    final ImageAdapter adapter = new ImageAdapter(Gallery.this, images);
     mDatabase.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                    images.add(snapshot.getValue(String.class));
                    adapter.notifyDataSetChanged();
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-09
    • 2020-12-15
    • 2021-09-03
    • 2020-09-27
    • 2021-03-13
    • 2019-09-28
    • 2018-05-16
    • 2020-09-16
    相关资源
    最近更新 更多