L'application plante lors de la sortie, alors que lors du débogage, ce n'est pas le cas
-
20-12-2019 - |
Question
Je développe une application à l'aide d'Android Studio et lorsque je suis passé de déboguer à libérer variante de construction, elle a commencé à planter.Pendant le débogage, il ne se passe rien du tout.Le vrai problème est que je ne trouve pas où se trouve la véritable erreur, car chaque référence est renommée.
Avez-vous rencontré une erreur comme celle-ci, qui s'est produite uniquement sur libérer?
La pile imprimée est la suivante :
04-11 08:28:42.756 5997-5997/com.korcholis.clothio E/ActivityThread﹕ Failed to inflate
android.view.InflateException: Binary XML file line #10: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
at android.app.Activity.setContentView(Activity.java:1906)
at android.support.v7.a.g.a(Unknown Source)
at android.support.v7.a.n.a(Unknown Source)
at android.support.v7.a.g.setContentView(Unknown Source)
at com.korcholis.clothio.SampleListActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5207)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5303)
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:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Could not find constructor that hast just a (Context) argument for helper class class com.korcholis.clothio.b.c
at com.a.a.a.a.a.c(Unknown Source)
at com.a.a.a.a.a.b(Unknown Source)
at com.a.a.a.a.a.a(Unknown Source)
at com.korcholis.clothio.fragments.SampleListFragment.a(Unknown Source)
at android.support.v4.app.Fragment.i(Unknown Source)
at android.support.v4.app.ae.a(Unknown Source)
at android.support.v4.app.ae.b(Unknown Source)
at android.support.v4.app.ae.a(Unknown Source)
at android.support.v4.app.w.onCreateView(Unknown Source)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
at android.app.Activity.setContentView(Activity.java:1906)
at android.support.v7.a.g.a(Unknown Source)
at android.support.v7.a.n.a(Unknown Source)
at android.support.v7.a.g.setContentView(Unknown Source)
at com.korcholis.clothio.SampleListActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5207)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5303)
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:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context]
at java.lang.Class.getConstructorOrMethod(Class.java:423)
at java.lang.Class.getConstructor(Class.java:397)
at com.a.a.a.a.a.c(Unknown Source)
at com.a.a.a.a.a.b(Unknown Source)
at com.a.a.a.a.a.a(Unknown Source)
at com.korcholis.clothio.fragments.SampleListFragment.a(Unknown Source)
at android.support.v4.app.Fragment.i(Unknown Source)
at android.support.v4.app.ae.a(Unknown Source)
at android.support.v4.app.ae.b(Unknown Source)
at android.support.v4.app.ae.a(Unknown Source)
at android.support.v4.app.w.onCreateView(Unknown Source)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
at android.app.Activity.setContentView(Activity.java:1906)
at android.support.v7.a.g.a(Unknown Source)
at android.support.v7.a.n.a(Unknown Source)
at android.support.v7.a.g.setContentView(Unknown Source)
at com.korcholis.clothio.SampleListActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5207)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5303)
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:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
04-11 08:28:42.756 5997-5997/com.korcholis.clothio D/AndroidRuntime﹕ Shutting down VM
04-11 08:28:42.756 5997-5997/com.korcholis.clothio W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41902700)
04-11 08:28:42.756 5997-5997/com.korcholis.clothio E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.korcholis.clothio/com.korcholis.clothio.SampleListActivity}: android.view.InflateException: Binary XML file line #10: Error inflating class fragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2355)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5303)
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:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #10: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
at android.app.Activity.setContentView(Activity.java:1906)
at android.support.v7.a.g.a(Unknown Source)
at android.support.v7.a.n.a(Unknown Source)
at android.support.v7.a.g.setContentView(Unknown Source)
at com.korcholis.clothio.SampleListActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5207)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5303)
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:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalStateException: Could not find constructor that hast just a (Context) argument for helper class class com.korcholis.clothio.b.c
at com.a.a.a.a.a.c(Unknown Source)
at com.a.a.a.a.a.b(Unknown Source)
at com.a.a.a.a.a.a(Unknown Source)
at com.korcholis.clothio.fragments.SampleListFragment.a(Unknown Source)
at android.support.v4.app.Fragment.i(Unknown Source)
at android.support.v4.app.ae.a(Unknown Source)
at android.support.v4.app.ae.b(Unknown Source)
at android.support.v4.app.ae.a(Unknown Source)
at android.support.v4.app.w.onCreateView(Unknown Source)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
at android.app.Activity.setContentView(Activity.java:1906)
at android.support.v7.a.g.a(Unknown Source)
at android.support.v7.a.n.a(Unknown Source)
at android.support.v7.a.g.setContentView(Unknown Source)
at com.korcholis.clothio.SampleListActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5207)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5303)
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:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: <init> [class android.content.Context]
at java.lang.Class.getConstructorOrMethod(Class.java:423)
at java.lang.Class.getConstructor(Class.java:397)
at com.a.a.a.a.a.c(Unknown Source)
at com.a.a.a.a.a.b(Unknown Source)
at com.a.a.a.a.a.a(Unknown Source)
at com.korcholis.clothio.fragments.SampleListFragment.a(Unknown Source)
at android.support.v4.app.Fragment.i(Unknown Source)
at android.support.v4.app.ae.a(Unknown Source)
at android.support.v4.app.ae.b(Unknown Source)
at android.support.v4.app.ae.a(Unknown Source)
at android.support.v4.app.w.onCreateView(Unknown Source)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:685)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:267)
at android.app.Activity.setContentView(Activity.java:1906)
at android.support.v7.a.g.a(Unknown Source)
at android.support.v7.a.n.a(Unknown Source)
at android.support.v7.a.g.setContentView(Unknown Source)
at com.korcholis.clothio.SampleListActivity.onCreate(Unknown Source)
at android.app.Activity.performCreate(Activity.java:5207)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2309)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2405)
at android.app.ActivityThread.access$600(ActivityThread.java:156)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5303)
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:739)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)
at dalvik.system.NativeStart.main(Native Method)
Merci les gars
MODIFIER:Ainsi, comme l'a déclaré AesSedai101, c'était une question entre Proguard et quelque chose que j'utilise :Ormlite.Je vais donc ajouter la balise et un fichier proguard qui m'a fonctionné :
-keepattributes Signature
-keep class com.korcholis.clothio.data.** { *; }
-keep class com.j256.**
-keepclassmembers class com.j256.** { *; }
-keep enum com.j256.**
-keepclassmembers enum com.j256.** { *; }
-keep interface com.j256.**
-keepclassmembers interface com.j256.** { *; }
Remplacer com.korcholis.clothio.data.**
avec le package dans lequel vous stockez vos modèles de base de données, mais n'oubliez pas le fichier final .**
La solution
On dirait que Proguard supprime un constructeur d'une de vos classes.Assurez-vous d'ajouter la configuration Proguard comme spécifié dans le manuel.Si cela n'est pas ajouté, Proguard supprimera tout le code inutilisé, qui inclut des éléments tels que les constructeurs d'activité.
Autres conseils
Je viens de rencontrer ce problème et j'ai exécuté Build > Clean Project avant de générer un nouvel APK signé.
Le problème similaire que j'ai également trouvé et mentionné dans :
Vous pouvez d'abord vérifier simplement en activant minifyEnable sur true dans votre version de débogage, si le problème se reproduit, c'est certainement à cause de proguard.