2014-04-11 43 views
7

Zajmuję się tworzeniem aplikacji przy użyciu Android Studio, a kiedy zmieniłem z debugowania na wydanie wariantu kompilacji, zaczęło się zawieszać. Podczas debugowania nic się nie dzieje. Prawdziwy problem polega na tym, że nie mogę stwierdzić, gdzie jest prawdziwy błąd, ponieważ każda referencja jest zmieniana.Aplikacja w czasie awarii systemu, podczas gdy podczas debugowania nie działa

Czy spotkałeś się z takim błędem, który wydarzył się tylko na wydanie?

Wydrukowany stos jest taka:

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) 

Dziękuję chłopaki

EDIT: Tak jak stwierdzono AesSedai101, to była sprawa między PROGUARD i coś używam: Ormlite. Więc dodam tag i plik PROGUARD który pracował dla mnie:

-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.** { *; } 

Replace com.korcholis.clothio.data.** z pakietem gdzie przechowywać swoje modele baz danych, ale nie zapominaj, końcowy .**

+0

Opublikuj swój kod 'SampleListFragment'. –

+0

przed podpisaniem aplikacji usuń błąd lint. Znajdź go za pomocą prawego kliknięcia na projekt-> Narzędzia Android -> Uruchom lint.Ckeck dla typowych błędów –

+0

@SimplePlan Jest dość długi, oto sens: https: // gist .github.com/Korcholis/10444650 – Korcholis

Odpowiedz

14

Wygląda PROGUARD usuwa konstruktora z jednej z twoich klas. Pamiętaj, aby dodać konfigurację Proguard, jak określono w manual. Jeśli to nie zostanie dodane, Proguard usunie cały nieużywany kod, który zawiera rzeczy takie jak konstruktorzy działań.

+0

Dokładnie! Dziękuję, pozwól, że zaakceptuję twoją odpowiedź jako ważną – Korcholis

+1

DZIĘKUJEMY. A PS ... nie ma początków ani zakończenia obracania kołem. Ale dla mnie - to było zakończenie AN. <3 #WoT – Joel

0

Po prostu napotkałem ten problem i uruchomiłem Build> Clean Project przed wygenerowaniem nowego podpisanego pliku APK.