Bonjour les gars Mon application fonctionnait bien jusqu'à hier, j'ai mis à jour mon SDK hier et il a commencé à donner une erreur en premier il a donné une erreur
Aucune ressource trouvée à valeurs v24 ....
quelque chose comme ça, j'ai cherché et résolu en changeant les lignes suivantes dans build.gradle
compileSdkVersion 25
buildToolsVersion '25.0.2'
maintenant cette erreur est parti et il est fonctionne complètement bien dans version Android supérieure 7.1.1 mais quand je lance dans la version inférieure de Android il donne après error
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.wowio.ebookreader, PID: 15469
Java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.wowio.ebookreader/com.eminosoft.ebookread.activity.SplashScreenActivity}: Java.lang.ClassNotFoundException: Didn't find class "com.eminosoft.ebookread.activity.SplashScreenActivity" on path: DexPathList[[Zip file "/data/app/com.wowio.ebookreader-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.wowio.ebookreader-1, /vendor/lib, /system/lib]]
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2195)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2378)
at Android.app.ActivityThread.access$800(ActivityThread.Java:155)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1244)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:136)
at Android.app.ActivityThread.main(ActivityThread.Java:5433)
at Java.lang.reflect.Method.invokeNative(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:515)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1268)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:1084)
at dalvik.system.NativeStart.main(Native Method)
Caused by: Java.lang.ClassNotFoundException: Didn't find class "com.eminosoft.ebookread.activity.SplashScreenActivity" on path: DexPathList[[Zip file "/data/app/com.wowio.ebookreader-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.wowio.ebookreader-1, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:56)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:497)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:457)
at Android.app.Instrumentation.newActivity(Instrumentation.Java:1068)
at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2186)
at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2378)
at Android.app.ActivityThread.access$800(ActivityThread.Java:155)
at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1244)
at Android.os.Handler.dispatchMessage(Handler.Java:102)
at Android.os.Looper.loop(Looper.Java:136)
at Android.app.ActivityThread.main(ActivityThread.Java:5433)
at Java.lang.reflect.Method.invokeNative(Native Method)
at Java.lang.reflect.Method.invoke(Method.Java:515)
at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:1268)
at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:1084)
at dalvik.system.NativeStart.main(Native Method)
J'ai déjà essayé choses suivantes
1. projet propre
2.invalider le cache/redémarrer
3.La suppression de l'application sur l'appareil
déjà examiné ces questions Question 1 , Question 2 rien n'a fonctionné. Comment puis-je résoudre ce problème?
si vous avez besoin de quelque chose, je vais le mettre à jour en question
mon fichier build.gradle
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 25
buildToolsVersion '25.0.2'
defaultConfig {
applicationId "com.wowio.ebookreader"
minSdkVersion 14
targetSdkVersion 23
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.txt'
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile 'com.Android.support:appcompat-v7:+'
compile 'com.google.Android.gms:play-services:+'
compile 'com.Android.support:multidex:1.0.1'
// the are many more dependencies i removed to decrease size
}
Ecrivez une classe EnableMultiDex
comme ci-dessous
public class EnableMultiDex extends MultiDexApplication {
private static EnableMultiDex enableMultiDex;
public static Context context;
public EnableMultiDex(){
enableMultiDex=this;
}
public static EnableMultiDex getEnableMultiDexApp() {
return enableMultiDex;
}
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
}
}
et dans AndroidManifest.xml
écrivez cette classe dans la balise Application
<application
Android:name="YourPakageName.EnableMultiDex"
Android:hardwareAccelerated="true"
Android:icon="@drawable/launch_logo"
Android:label="@string/app_name"
Android:largeHeap="true"
tools:node="replace">
Oui, peut-être que la réponse ci-dessus est correcte, je n'ai pas essayé tel quel. Mais j'ai résolu de manière opposée est "Vous supprimez l'option d'exécution instantanée dans les paramètres du studio Android"
Allez dans -> le menu Fichier -> sélectionnez les paramètres -> sélectionnez la construction, l'exécution, le déploiement -> sélectionnez l'exécution instantanée -> cochez la case "Activer l'exécution instantanée".
Cela a fonctionné pour moi. mais certaines applications telles que les applications intégrées de Google Maps nécessitent une exécution instantanée.
Dans mon cas, mon projet a recommencé à fonctionner après:
La même erreur m'est arrivée parce que j'ai installé l'apk de débogage créé dans le dossier output\apk et qu'il s'avère être plus petit et qu'il manque des classes, car il s'agissait probablement du résultat d'une exécution instantanée. off just build APK (par Build-> Build apk dans le menu) et utilisez celui-ci.
Désactiver l'exécution instantanée a fonctionné pour moi Je pense que ce problème se produit car une classe est manquante lors de la construction avec l'installation (réduction de la taille de l'apk)