0

신생 Android 개발자입니다. 나는 안드로이드에서 응용 프로그램을 개발하고 내 minSdkVersion 16targetSdkVersion 16을 설정했지만 여전히 젤리 빈에서는 실행되지 않지만 marshmallow에서는 잘 작동합니다.Marshmallow에서 실행중인 애플리케이션, Jellybean에서 실행되지 않는 애플리케이션

오류를 찾을 수 없습니다.

내 Gradle을 파일은 다음과 같습니다

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 23 
buildToolsVersion "24.0.3" 
defaultConfig { 
    applicationId "com.theakshaynaik.pocketambulance" 
    minSdkVersion 16 
    targetSdkVersion 16 
    versionCode 1 
    versionName "1.0" 
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
    multiDexEnabled true 
} 
buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
    } 
} 

dependencies { 
compile fileTree(include: ['*.jar'], dir: 'libs') 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 
compile files('libs/httpclient-4.0.3.jar') 
compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.firebaseui:firebase-ui:0.5.1' 
compile 'com.google.firebase:firebase-storage:10.0.1' 
compile 'com.google.firebase:firebase-database:10.0.1' 
compile 'com.google.android.gms:play-services:10.0.1' 
compile 'com.android.support:multidex:1.0.0' 
testCompile 'junit:junit:4.12' 
} 
apply plugin: 'com.google.gms.google-services' 

내 로그 캣은 : 당신은 64K 방법의 한계에 도달하고 multidex를 활성화해야했다처럼

E/AndroidRuntime: FATAL EXCEPTION: main 
       java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.theakshaynaik.pocketambulance-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.theakshaynaik.pocketambulance-1, /vendor/lib, /system/lib]] 
        at android.app.ActivityThread.installProvider(ActivityThread.java:4915) 
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:4518) 
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4458) 
        at android.app.ActivityThread.access$1300(ActivityThread.java:144) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1319) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:137) 
        at android.app.ActivityThread.main(ActivityThread.java:5136) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:525) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
        at dalvik.system.NativeStart.main(Native Method) 
       Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.theakshaynaik.pocketambulance-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.theakshaynaik.pocketambulance-1, /vendor/lib, /system/lib]] 
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:53) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:501) 
        at java.lang.ClassLoader.loadClass(ClassLoader.java:461) 
        at android.app.ActivityThread.installProvider(ActivityThread.java:4900) 
        at android.app.ActivityThread.installContentProviders(ActivityThread.java:4518)  
        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4458)  
        at android.app.ActivityThread.access$1300(ActivityThread.java:144)  
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1319)  
        at android.os.Handler.dispatchMessage(Handler.java:99)  
        at android.os.Looper.loop(Looper.java:137)  
        at android.app.ActivityThread.main(ActivityThread.java:5136)  
        at java.lang.reflect.Method.invokeNative(Native Method)  
        at java.lang.reflect.Method.invoke(Method.java:525)  
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)  
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)  
        at dalvik.system.NativeStart.main(Native Method)  
+0

오류를 우리에게 보여줄 수 있습니까? StackTrace는 무엇이 잘못되었는지와 앱이 충돌하게 만드는 코드를 나타냅니다. – 476rick

+0

기기에 Google Play 서비스가 업데이트되었는지, 즉 앱에서 firebase를 사용하는 경우 필요한 Google Play 서비스 9.0 이상이 있어야합니다. –

+0

사용해보기 - http://stackoverflow.com/questions/39825543/didnt-find-class-com-google-firebase-provider-firebaseinitprovider – ZeekHuge

답변

0

것 같습니다. 5.0 이하의 Android 버전은 기본적으로 64K 메소드 (라이브러리 포함) 만 지원하는 Dalvik을 사용하며 Android 5.0 이상에서는 기본적으로 64K 이상의 메소드를 지원하는 ART를 사용합니다. Android 개발자 웹 사이트에서 multidex here에 대한 모든 내용을 읽을 수 있습니다.

+0

고맙습니다. 문제가 해결되었습니다. –