2016-09-15 3 views
0

오늘 새 장치에서 응용 프로그램을 테스트했으며 (아래 참조) 출시 할 때 예외가 발생했습니다. 나는 주된 활동을 시작할 수 없다.Android : firebase 때문에 응용 프로그램이 다운 됨

장치 : Genymotion 삼성 갤럭시 S2 - 안드로이드 4.1.1 - API 16

없음 구글 플레이 서비스가 설치되어 있어야합니다.

E/AndroidRuntime: FATAL EXCEPTION: main 
    java.lang.NoClassDefFoundError: com.google.firebase.g 
    at com.google.firebase.b.a(Unknown Source) 
    at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1058) 
    at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
    at android.app.ActivityThread.installProvider(ActivityThread.java:4560) 
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:4190) 
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4132) 
    at android.app.ActivityThread.access$1300(ActivityThread.java:130) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:137) 
    at android.app.ActivityThread.main(ActivityThread.java:4745) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:511) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
    at dalvik.system.NativeStart.main(Native Method) 

Gradle을 빌드 :

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

    defaultConfig { 
    applicationId "com.app" 
    minSdkVersion 10 
    targetSdkVersion 21 
    multiDexEnabled true 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 

    compile 'com.android.support:recyclerview-v7:24.2.0' 
    compile 'com.android.support:appcompat-v7:24.2.0' 
    compile 'com.google.android.gms:play-services:9.4.0' 
    compile 'com.mcxiaoke.volley:library:1.0.19' 
    compile 'com.github.chrisbanes.actionbarpulltorefresh:extra-abc:+' 
    compile 'com.github.castorflex.smoothprogressbar:library:1.1.0' 
    compile 'com.jeremyfeinstein.slidingmenu:library:[email protected]' 
    compile 'com.google.android.gms:play-services-ads:9.4.0' 
    compile 'com.google.android.gms:play-services-identity:8.4.0' 
    compile 'com.google.android.gms:play-services-gcm:9.4.0' 
    compile 'com.google.android.gms:play-services-auth:9.4.0' 
} 

는 때문에 플레이 서비스 누락의 충돌인가?

참고 : 약 한 달 전에 firebase을 구현했으며 다른 기기에서 작동합니다.

+0

은 Genymotion 삼성의 플레이 서비스를 업데이트하십시오! –

답변

2

build.gradle 파일에 multiDexEnabled true이 있더라도, 종속성에는 compile 'com.android.support:multidex:1.0.1'이 누락되었습니다. 나는 Mulidex가 일하고 있는지 의심 스럽다. Multidex configuration instructions을 검토하고 올바르게 수행했는지 확인하십시오.

또한 compile 'com.google.android.gms:play-services:9.4.0'을 포함하는 것이 바람직하지 않습니다. 그러면 모두 앱에 Google Play 및 Firebase 라이브러리가 추가되어 빌드 시간과 APK 파일의 크기가 늘어납니다. play-services:9.4.0의 종속성을 필요한 라이브러리로 바꿉니다. Google Play 라이브러리 목록은 provided here이고 Firebase 라이브러리는 listed here입니다.

-1

정확합니다. Firebase에는 Google 플레이 서비스가 필요합니다. 릴리스 발표에 여기에서 언급 한 바와 같이 구글 서비스 9.0 재생을 위해 : Google Play Services 9.0

중포 기지 구글 서비스 9.0

+0

Google Play 서비스가 설치된 Samung Galaxy S5 기기 (4.4.2)에서 테스트를 해봤는데 계속 충돌하고 있습니다. –

+0

또한 S5에 설치된 Google Play 서비스는 9.4.52입니다. –

1

보십시오이 이 플러그인을 적용 할 추가 Play를 사용하여 만들어진 'com.google.gms.google를 -services '을 gradle 빌드 파일 끝에 넣으십시오.

0

매니페스트 파일의 응용 프로그램 태그에이 줄을 추가

안드로이드 : 이름 = "android.support.multidex.MultiDexApplication"

관련 문제