Closed craftyguy closed 8 years ago
Thanks. Yes, this seems to be happening on all devices (though not the emulator) with the new beta version. Luckily I haven't released that widely yet.
Disabling proguard seems to avoid the problem: https://github.com/murraycu/android-galaxyzoo/commit/ba5bc1c474c56c30412a34bb8ab097ed7a0001cf But I'd rather keep using proguard to keep the download size smaller. I'm investigating if something else has triggered this.
I just tested 1.61 from f-droid and all is well, thank you this awesome app!!! On Fri, Aug 26, 2016 at 05:14:32AM -0700, Murray Cumming wrote:
Thanks. Yes, this seems to be happening on all devices (though not the emulator) with the new beta version. Luckily I haven't released that widely yet.
Disabling proguard seems to avoid the problem: https://github.com/murraycu/android-galaxyzoo/commit/ba5bc1c474c56c30412a34bb8ab097ed7a0001cf But I'd rather keep using proguard to keep the download size smaller. I'm investigating if something else has triggered this.
You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub: https://github.com/murraycu/android-galaxyzoo/issues/31#issuecomment-242719498
I'm keeping this open because I still want to use Proguard.
Oh ok, sorry for closing it prematurely!
On August 27, 2016 1:18:45 PM PDT, Murray Cumming notifications@github.com wrote:
I can't reproduce this even with real devices, though Google's new Pre-Launch Reports shows the same startup error with every single test device.
Could you try to "git checkout" some random commits from before 1.59, to see if something particular triggers the problem?
For version 1.60, the pre-launch tests have this exception:
FATAL EXCEPTION: main
Process: com.murrayc.galaxyzoo.app, PID: 23580
java.lang.VerifyError: Rejecting class com.murrayc.galaxyzoo.app.j because it failed compile-time verification (declaration of 'com.murrayc.galaxyzoo.app.j' appears in /data/app/com.murrayc.galaxyzoo.app-1/base.apk)
at com.murrayc.galaxyzoo.app.ClassifyActivity.onCreate()
at android.app.Activity.performCreate(Activity.java:6500)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1120)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3072)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3218)
at android.app.ActivityThread.access$1000(ActivityThread.java:198)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1676)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6837)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
The log output mentions this:
com.murrayc.galaxyzoo.app-1/base.apk --oat-fd=12 --art-fd=-1 --compress-image --oat-location=/data/dalvik-cache/arm64/data@app@com.murrayc.galaxyzoo.app-1@base.apk@classes.dex --instruction-set=arm64 --instruction-set-features=default --runtime-arg -Xms64m --runtime-arg -Xmx512m --swap-fd=13
08-25 10:09:07.168: W/dex2oat(21633): Duplicate field in /data/app/com.murrayc.galaxyzoo.app-1/base.apk
08-25 10:09:07.188: W/dex2oat(21633): Duplicate field in /data/app/com.murrayc.galaxyzoo.app-1/base.apk
08-25 10:09:07.198: I/dex2oat(21633): Decided to run without swap.
08-25 10:09:07.388: W/dex2oat(21633): Duplicate field in /data/app/com.murrayc.galaxyzoo.app-1/base.apk
08-25 10:09:07.388: W/dex2oat(21633): Duplicate field in /data/app/com.murrayc.galaxyzoo.app-1/base.apk
08-25 10:09:07.608: I/dex2oat(21633): Verification error in boolean android.support.v7.widget.gi.e(android.support.v7.widget.k, int, int, int, int)
08-25 10:09:07.608: I/dex2oat(21633): boolean android.support.v7.widget.gi.e(android.support.v7.widget.k, int, int, int, int) failed to verify: boolean android.support.v7.widget.gi.e(android.support.v7.widget.k, int, int, int, int): [0x34] invoke-super/virtual can't be used on private method void android.support.v7.widget.gi.d(android.support.v7.widget.k)
08-25 10:09:07.608: W/dex2oat(21633): Duplicate field in /data/app/com.murrayc.galaxyzoo.app-1/base.apk
08-25 10:09:07.608: I/dex2oat(21633): Verification error in void android.support.v7.widget.gi.n(android.support.v7.widget.k)
08-25 10:09:07.608: I/dex2oat(21633): void android.support.v7.widget.gi.n(android.support.v7.widget.k) failed to verify: void android.support.v7.widget.gi.n(android.support.v7.widget.k): [0x87] invoke-super/virtual can't be used on private method void android.support.v7.widget.gi.d(android.support.v7.widget.k)
08-25 10:09:07.608: I/dex2oat(21633): Verification error in void android.support.v7.widget.gi.o()
08-25 10:09:07.608: I/dex2oat(21633): void android.support.v7.widget.gi.o() failed to verify: void android.support.v7.widget.gi.o(): [0x87] invoke-super/virtual can't be used on private method void android.support.v7.widget.gi.d(android.support.v7.widget.k)
08-25 10:09:07.608: E/dex2oat(21633): Verification failed on class android.support.v7.widget.gi in /data/app/com.murrayc.galaxyzoo.app-1/base.apk because: Verifier rejected class android.support.v7.widget.gi due to bad method void android.support.v7.widget.gi.o()
08-25 10:09:07.608: I/dex2oat(21633): Verification error in android.view.View com.murrayc.galaxyzoo.app.f.d(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
08-25 10:09:07.608: I/dex2oat(21633): android.view.View com.murrayc.galaxyzoo.app.f.d(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) failed to verify: android.view.View com.murrayc.galaxyzoo.app.f.d(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle): [0x1F] invoke-super/virtual can't be used on private method void com.murrayc.galaxyzoo.app.f.a()
08-25 10:09:07.608: E/dex2oat(21633): Verification failed on class com.murrayc.galaxyzoo.app.f in /data/app/com.murrayc.galaxyzoo.app-1/base.apk because: Verifier rejected class com.murrayc.galaxyzoo.app.f due to bad method android.view.View com.murrayc.galaxyzoo.app.f.d(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
08-25 10:09:07.618: I/dex2oat(21633): Verification error in android.view.View com.murrayc.galaxyzoo.app.j.d(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
08-25 10:09:07.618: I/dex2oat(21633): android.view.View com.murrayc.galaxyzoo.app.j.d(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle) failed to verify: android.view.View com.murrayc.galaxyzoo.app.j.d(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle): [0x1F] invoke-super/virtual can't be used on private method void com.murrayc.galaxyzoo.app.j.a()
08-25 10:09:07.618: E/dex2oat(21633): Verification failed on class com.murrayc.galaxyzoo.app.j in /data/app/com.murrayc.galaxyzoo.app-1/base.apk because: Verifier rejected class com.murrayc.galaxyzoo.app.j due to bad method android.view.View com.murrayc.galaxyzoo.app.j.d(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)
Which looks similar to this: https://code.google.com/p/android/issues/detail?id=218917
I uploaded some other packages as Alpha releases to the play store, because this is the only way I can reproduce the VerifyError. This seems to be the commit that triggers it (Switching to Java 8): https://github.com/murraycu/android-galaxyzoo/commit/7f5342eaa2e34b4af3913925830cf90b897f0878
I've reverted that commit and released 1.64.
I just installed v1.59 and get a force close when starting the app. I did not have a previous version installed. I am on CyanogenMod 13.0 / Android 6.0.1.
Here is the relevant information from logcat when the crash occurs: