2017-10-12 4 views
0

Très conscient qu'il existe des questions similaires. J'ai essayé toutes les réponses, aucune d'entre elles n'a aidé.Impossible d'obtenir le fournisseur com.google.firebase.provider.FirebaseInitProvider sur une apk téléchargée, fonctionne très bien lors du téléchargement de l'apk avec adb

Tout fonctionne très bien quand je télécharger le apk sur mon téléphone avec Android Studio, mais quand je télécharger et installer l'APK je reçois ce non-sens putain:

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.mycompany.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.mycompany.myapp-1/lib/arm64, /system/lib64, /vendor/lib64]] 
                at android.app.ActivityThread.installProvider(ActivityThread.java:5945) 
                at android.app.ActivityThread.installContentProviders(ActivityThread.java:5534) 
                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5473) 
                at android.app.ActivityThread.-wrap2(ActivityThread.java) 
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1571) 
                at android.os.Handler.dispatchMessage(Handler.java:102) 
                at android.os.Looper.loop(Looper.java:154) 
                at android.app.ActivityThread.main(ActivityThread.java:6209) 
                at java.lang.reflect.Method.invoke(Native Method) 
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) 
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755) 
               Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/com.mycompany.myapp-1/base.apk"],nativeLibraryDirectories=[/data/app/com.mycompany.myapp-1/lib/arm64, /system/lib64, /vendor/lib64]] 
                at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
                at java.lang.ClassLoader.loadClass(ClassLoader.java:380) 
                at java.lang.ClassLoader.loadClass(ClassLoader.java:312) 
                at android.app.ActivityThread.installProvider(ActivityThread.java:5930) 
                at android.app.ActivityThread.installContentProviders(ActivityThread.java:5534)  
                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5473)  
                at android.app.ActivityThread.-wrap2(ActivityThread.java)  
                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1571)  
                at android.os.Handler.dispatchMessage(Handler.java:102)  
                at android.os.Looper.loop(Looper.java:154)  
                at android.app.ActivityThread.main(ActivityThread.java:6209)  
                at java.lang.reflect.Method.invoke(Native Method)  
                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)  
                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)  

L'application est à peu près seulement une enveloppe de WebView pour une fonctionnalité webapp + widget + GCM qui reçoit des messages push et affiche des notifications. Si je fais fonctionner cela, je n'aurai peut-être plus jamais besoin de toucher Android, alors pour l'amour de Dieu, aidez-moi avec ce dernier numéro.

Voilà mes fichiers build.gradle:

Projet:

// Top-level build file where you can add configuration options common to all sub-projects/modules. 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:2.3.3' 
     classpath 'com.google.gms:google-services:3.0.0' 


     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

task clean(type: Delete) { 
    delete rootProject.buildDir 
} 

Module:

apply plugin: 'com.android.application' 

//apply plugin: "com.ewerk.gradle.plugins.annotation-processor" 

android { 
    compileSdkVersion 24 
    buildToolsVersion '25.0.0' 

    defaultConfig { 
     applicationId "com.mycompany.myapp" 
     minSdkVersion 21 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
     multiDexEnabled true //tried this due to one answer, didnt do anything 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
/* 
configurations.all { 
    resolutionStrategy { 
     force 'com.android.support:design:23.4.0' 
     force 'com.android.support:support-v4:23.4.0' 
     force 'com.android.support:appcompat-v7:23.4.0' 
    } 
} 
*/ 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    //compile 'com.android.support:appcompat-v7:24.4.0' 

    //compile 'com.jakewharton:butterknife-compiler:8.4.0' 
    //annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0' 
    compile 'org.greenrobot:eventbus:3.0.0' 
    compile 'com.jakewharton:butterknife:8.4.0' 
    //compile 'com.google.android.gms:play-services-gcm:10.0.1' 
    //compile 'com.google.firebase:firebase-messaging:10.0.1' 
    compile 'com.google.android.gms:play-services-gcm:9.4.0' 
    compile 'com.google.firebase:firebase-messaging:9.4.0' 
    //compile 'com.firebase:firebase-client-android:2.3.1' 

    // https://mvnrepository.com/artifact/com.squareup.okhttp/okhttp 
    compile group: 'com.squareup.okhttp', name: 'okhttp', version: '2.7.5' 
} 
apply plugin: 'com.google.gms.google-services' 

Répondre

0

Ouiiii, enfin. Au revoir android!

Il s'avère que le studio android avait construit pendant les processus de construction normaux était une merde pour une raison quelconque. Build-> Build APK a construit un fichier apk 3x plus gros qui a fonctionné lors du téléchargement.