Почему я получаю java.lang.NoClassDefFoundError, хотя multiDexEnabled? - PullRequest
0 голосов
/ 14 декабря 2018

Я все еще получаю java.lang.NoClassDefFoundError при первом запуске моего кода для этого класса Utils

public class FBase {

    public static String myUID = FirebaseAuth.getInstance().getCurrentUser().getUid();
    public static DatabaseReference dbUsersRef = FirebaseDatabase.getInstance().getReference("Users");
    public static DatabaseReference dbMessagesRef = FirebaseDatabase.getInstance().getReference("Messages");
    public static DatabaseReference dbNotificationsRef = FirebaseDatabase.getInstance().getReference("Notifications");
    public static DatabaseReference dbBlockRef = FirebaseDatabase.getInstance().getReference("Block");
    public static DatabaseReference dbUnReadMessagesRef = FirebaseDatabase.getInstance().getReference("posts");
    public static DatabaseReference dbLastMessagesRef = FirebaseDatabase.getInstance().getReference("LastMessages");
    public static StorageReference dbStorageReference =  FirebaseStorage.getInstance().getReference().child("Photos");

}

, и это мой код, в котором я вызываю предыдущий класс

  FBase.dbUsersRef.orderByKey().equalTo(FBase.myUID).addListenerForSingleValueEvent(new ValueEventListener() {
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot data : dataSnapshot.getChildren()) {

                User model = data.getValue(User.class);
                name =model.getName();
                city =model.getCity();
                state = model.getState();
                country = model.getCountry();
        }

        @Override
        public void onCancelled(DatabaseError databaseError) { }
    });
}

Я уже прочитал документацию , чтобы решить эту ошибку, в которой предлагалось добавить

android {
defaultConfig {
    ...

    multiDexEnabled true
  }
  ...
 }
 dependencies {
     implementation 'com.android.support:multidex:1.0.3'
 }

и переопределить этот метод в классе, который расширяет Application

class MyApp : Application() , LifecycleObserver  {
override fun attachBaseContext(base: Context) {
    super.attachBaseContext(base)
    MultiDex.install(this)
}
}

, также яотредактировал мой файл gradle.properties и изменил эту строку

org.gradle.jvmargs=-Xmx1536m

на

org.gradle.jvmargs=-Xmx2048m -XX\:MaxHeapSize\=1024m

, извините, я все еще получаю эту ошибку при разборе данных из firebase при первом запуске

что мне теперь делать?

...