2015-09-21 15 views
8

Witaj Otrzymuję ten błąd za pomocą Android Studio w środowisku wykonawczym, ale tylko na urządzeniach z wersją SDK < = 19. Wszystko kompiluje się dobrze ale dostaję ten błąd na moim databaseHelper Class.Android Studio E/dalvikvm: Nie można znaleźć klasy ".DatabaseHelper", do której odwołuje się metoda .DatabaseManager

java.lang.NoClassDefFoundError: 

Oto moja aplikacja build.gradle:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion '23.0.1' 
    useLibrary 'org.apache.http.legacy' 

    defaultConfig { 
     minSdkVersion 11 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
     } 
    } 
} 



dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile 'com.google.android.gms:play-services:7.8.0' 
    compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.github.johnpersano:supertoasts:[email protected]' 
    compile 'com.readystatesoftware.systembartint:systembartint:1.0.3' 
    compile 'com.navercorp.pulltorefresh:library:[email protected]' 
    compile 'com.parse.bolts:bolts-android:1.2.1' 
    compile 'com.j256.ormlite:ormlite-android:4.48' 
    compile 'com.j256.ormlite:ormlite-core:4.48' 
} 

Moja klasa databaseHelper rozciąga OrmLiteSqliteOpenHelper wszystko było w porządku pracy, podczas gdy mój compileSdkVersion był na 19 Oto co aktualizacja:

  • gradle: classpath 'com.android.tools.build:gradle:1.1.0'> 1.3.0
  • sdk Wersja: compileSdkVersion 19> 23
  • AppCompat: com.android.support:appcompat-v7:19.0.1> 23
  • play-usługi

My databaseHelper klasy jest w tym samym opakowaniu, niż innych klas, które działają bez zarzutu!

Dziękuję za pomoc

+0

Mam ten sam problem. Nadal próbuję dowiedzieć się, co to jest cu33 – Gatunox

+0

BTW zauważyłem, że każde miejsce było utworzyć Anonymous Classes i uzyskać E/dalvikvm: Nie można znaleźć błąd klasy na logcat. Jeśli usuniesz anonimowe tworzenie klas, wydaje się, że działa. ale rzecz WIERD jest do tego używana i nadal działa na API więcej niż 19 – Gatunox

+1

Ktoś ma na to rozwiązanie? Mam ten sam numer: – cpalosrejano

Odpowiedz

0

miałem trochę czasu ten sam problem a, spróbuj wyłączyć PROGUARD

minifyEnabled false 
+1

Dziękuję, ale nadal jest tak samo ( – totteire

1

znalazłem problem. MultiDex nie jest obsługiwany poprawnie przed Lollypop. Po usunięciu dodatkowych bibliotek i usunięciu ustawienia multidex na gradle wszystko zaczęło działać poprawnie.

usunąć.

multiDexEnabled true 

Pozdrowienia

10

jak masz multiDexEnabled true w build.gradle. Upewnij się, że klasa aplikacji rozszerza się o MultiDexApplication zamiast klasy Application.

Alternatywnie, zgodnie z sugestiami w dokumentach, możesz dodać następującą metodę do swojej klasy aplikacji.

@Override 
protected void attachBaseContext(Context base) { 
    super.attachBaseContext(base); 
    MultiDex.install(this); 
} 
+1

Dzięki, pomogło mi. Zmieniłem aplikację na MultiDexApplication – ch3tanz

Powiązane problemy