Closed ghost closed 2 years ago
It seems like u are using a debug build 😜,
and this seems to be a case of corrupt dex
Re-compiling and re-installing the apk might fix this
I get the mentioned problem on Android 7 devices with an "official build" from F-Droid. I used self-compiled debug builds for git bisect in the hope it could help with fixing the bug.
What is a git bisect?
Ooh I didn't know that, I will see into this
Can you capture logs from the release build please?
Log when using the release build:
2022-07-23 21:06:46.538 3142-3142/? W/art: Unexpected CPU variant for X86 using defaults: x86
2022-07-23 21:06:46.574 3142-3142/com.looker.droidify W/System: ClassLoader referenced unknown path: /data/app/com.looker.droidify-1/lib/x86
2022-07-23 21:06:46.720 3142-3142/com.looker.droidify W/art: Before Android 4.1, method double java.util.concurrent.ThreadLocalRandom.internalNextDouble(double, double) would have incorrectly overridden the package-private method in java.util.Random
2022-07-23 21:06:46.721 3142-3142/com.looker.droidify W/art: Before Android 4.1, method int java.util.concurrent.ThreadLocalRandom.internalNextInt(int, int) would have incorrectly overridden the package-private method in java.util.Random
2022-07-23 21:06:46.721 3142-3142/com.looker.droidify W/art: Before Android 4.1, method long java.util.concurrent.ThreadLocalRandom.internalNextLong(long, long) would have incorrectly overridden the package-private method in java.util.Random
2022-07-23 21:06:46.772 3142-3142/com.looker.droidify W/JobInfo: Specified flex for 1 is +5m0s0ms. Clamped to +36m0s0ms
2022-07-23 21:06:46.870 3142-3142/com.looker.droidify I/ViewConfigCompat: Could not find method getScaledScrollFactor() on ViewConfiguration
2022-07-23 21:06:46.902 3142-3147/com.looker.droidify I/art: Do partial code cache collection, code=28KB, data=27KB
2022-07-23 21:06:46.903 3142-3147/com.looker.droidify I/art: After code cache collection, code=25KB, data=26KB
2022-07-23 21:06:46.903 3142-3147/com.looker.droidify I/art: Increasing code cache capacity to 128KB
2022-07-23 21:06:46.929 3142-3142/com.looker.droidify D/: HostConnection::get() New Host Connection established 0x9117b900, tid 3142
2022-07-23 21:06:46.971 3142-3178/com.looker.droidify D/: HostConnection::get() New Host Connection established 0x9117bcc0, tid 3178
2022-07-23 21:06:46.972 3142-3178/com.looker.droidify I/OpenGLRenderer: Initialized EGL, version 1.4
2022-07-23 21:06:46.972 3142-3178/com.looker.droidify D/OpenGLRenderer: Swap behavior 1
2022-07-23 21:06:46.972 3142-3178/com.looker.droidify W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
2022-07-23 21:06:46.972 3142-3178/com.looker.droidify D/OpenGLRenderer: Swap behavior 0
2022-07-23 21:06:46.973 3142-3178/com.looker.droidify D/EGL_emulation: eglCreateContext: 0xa3b05540: maj 3 min 1 rcv 4
2022-07-23 21:06:46.988 3142-3142/com.looker.droidify W/art: Before Android 4.1, method android.graphics.drawable.Drawable com.google.android.material.progressindicator.BaseProgressIndicator.getCurrentDrawable() would have incorrectly overridden the package-private method in android.widget.ProgressBar
2022-07-23 21:06:47.000 3142-3142/com.looker.droidify W/View: requestLayout() improperly called by androidx.appcompat.view.menu.ActionMenuItemView{413ba81 VFED..CL. ......ID 0,0-144,144 #7f0801dc app:id/toolbar_search} during layout: running second layout pass
2022-07-23 21:06:47.000 3142-3142/com.looker.droidify W/View: requestLayout() improperly called by androidx.appcompat.view.menu.ActionMenuItemView{fffe726 VFED..CL. ......ID 144,0-288,144 #0} during layout: running second layout pass
2022-07-23 21:06:47.000 3142-3142/com.looker.droidify W/View: requestLayout() improperly called by androidx.appcompat.widget.ActionMenuView{5c72f67 V.E...... ......ID 1788,24-2196,168} during layout: running second layout pass
2022-07-23 21:06:47.000 3142-3142/com.looker.droidify W/View: requestLayout() improperly called by android.widget.FrameLayout{6eac114 V.E...... ......ID 0,144-2196,144 #7f080180 app:id/section_layout} during layout: running second layout pass
2022-07-23 21:06:47.030 3142-3178/com.looker.droidify D/EGL_emulation: eglMakeCurrent: 0xa3b05540: ver 3 1 (tinfo 0xa3b03930)
2022-07-23 21:06:47.033 3142-3178/com.looker.droidify E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
2022-07-23 21:06:47.033 3142-3178/com.looker.droidify E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
2022-07-23 21:06:47.034 3142-3147/com.looker.droidify I/art: Do partial code cache collection, code=36KB, data=61KB
2022-07-23 21:06:47.038 3142-3147/com.looker.droidify I/art: After code cache collection, code=35KB, data=60KB
2022-07-23 21:06:47.038 3142-3147/com.looker.droidify I/art: Increasing code cache capacity to 256KB
2022-07-23 21:06:47.054 3142-3178/com.looker.droidify D/EGL_emulation: eglMakeCurrent: 0xa3b05540: ver 3 1 (tinfo 0xa3b03930)
2022-07-23 21:06:48.011 3142-3168/com.looker.droidify D/NetworkSecurityConfig: No Network Security Config specified, using platform default
2022-07-23 21:06:48.049 3142-3187/com.looker.droidify W/CursorWindow: Window is full: requested allocation 258 bytes, free space 3 bytes, window size 2097152 bytes
2022-07-23 21:06:48.049 3142-3147/com.looker.droidify I/art: Do full code cache collection, code=115KB, data=125KB
2022-07-23 21:06:48.049 3142-3147/com.looker.droidify I/art: Starting a blocking GC JitCodeCache
2022-07-23 21:06:48.049 3142-3147/com.looker.droidify I/art: After code cache collection, code=91KB, data=74KB
2022-07-23 21:06:48.315 3142-3147/com.looker.droidify I/art: Do partial code cache collection, code=124KB, data=112KB
2022-07-23 21:06:48.315 3142-3147/com.looker.droidify I/art: After code cache collection, code=124KB, data=112KB
2022-07-23 21:06:48.315 3142-3147/com.looker.droidify I/art: Increasing code cache capacity to 512KB
2022-07-23 21:07:15.014 3142-3142/com.looker.droidify W/PropertyValuesHolder: Method set() with type float not found on target class class androidx.coordinatorlayout.widget.CoordinatorLayout
2022-07-23 21:07:15.014 3142-3142/com.looker.droidify W/PropertyValuesHolder: Method get() with type null not found on target class class androidx.coordinatorlayout.widget.CoordinatorLayout
2022-07-23 21:07:15.016 3142-3142/com.looker.droidify W/PropertyValuesHolder: Method setPercentTranslationY() with type float not found on target class class androidx.coordinatorlayout.widget.CoordinatorLayout
2022-07-23 21:07:20.415 3142-3147/com.looker.droidify I/art: Do full code cache collection, code=251KB, data=244KB
2022-07-23 21:07:20.416 3142-3147/com.looker.droidify I/art: Starting a blocking GC JitCodeCache
2022-07-23 21:07:20.416 3142-3147/com.looker.droidify I/art: After code cache collection, code=217KB, data=169KB
2022-07-23 21:07:20.794 3142-3147/com.looker.droidify I/art: Do partial code cache collection, code=244KB, data=214KB
2022-07-23 21:07:20.794 3142-3147/com.looker.droidify I/art: After code cache collection, code=231KB, data=204KB
2022-07-23 21:07:20.794 3142-3147/com.looker.droidify I/art: Increasing code cache capacity to 1024KB
2022-07-23 21:07:24.319 3142-3142/com.looker.droidify I/MaterialCardView: Setting a custom background is not supported.
2022-07-23 21:07:24.320 3142-3142/com.looker.droidify D/AndroidRuntime: Shutting down VM
--------- beginning of crash
2022-07-23 21:07:24.320 3142-3142/com.looker.droidify E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.looker.droidify, PID: 3142
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/time/Instant;
at com.looker.droidify.ui.adapters.AppDetailAdapter.onBindViewHolder(AppDetailAdapter.kt:67)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:178)
at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:7)
at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:28)
at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:13)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.time.Instant" on path: DexPathList[[zip file "/data/app/com.looker.droidify-1/base.apk"],nativeLibraryDirectories=[/data/app/com.looker.droidify-1/lib/x86, /system/lib, /vendor/lib]]
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 com.looker.droidify.ui.adapters.AppDetailAdapter.onBindViewHolder(AppDetailAdapter.kt:67)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:178)
at androidx.recyclerview.widget.GapWorker.prefetchPositionWithDeadline(GapWorker.java:7)
at androidx.recyclerview.widget.GapWorker.prefetch(GapWorker.java:28)
at androidx.recyclerview.widget.GapWorker.run(GapWorker.java:13)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Hmm weird, I will reach back soon
it's also crashing on my android
Btw was you were using github release or fdroid release?
Both official releases (F-Droid and the Github Release) crash on real devices. Bug Demonstration with Debug version (build using v0.4.7 release)
I forgot to say that I got the commit I mentioned previously just from testing with multiple debug builds (older ones worked, newer ones until the release didn't). I also can't really test your patch because builds from the master branch don't run (at least for me), but that's probably another issue.
The patch is probably not merged in the main branch, if you want I can provide you a teat build in mail, I have been testing it since 3 days
I have the same problems (only) on one of my old Android 7 device as well.
Android's java.time
package was added to SDK in Android 8 if I remember correctly. This should be why we got a NoClassDefFoundError: Failed resolution of: Ljava/time/Instant;
Besides, It seems that D8 could "desugar" java.time
to old java.util.Date
if I remember correctly.
Ya that seems to be the issue.
Besides, It seems that D8 could "desugar"
java.time
to oldjava.util.Date
if I remember correctly.
I honestly don't know what desugar I have seen it at many places but never used it. I would love to learn more about it, it would be very helpful if you can share an article or any resource related to it.
Besides, I am planning to use kotlinx.time
so this shouldn't be an issue. But I will share a test build here by tomorrow.
Droid-ify version: v0.4.7 Android 7.1.1 Steps to reproduce:
Crash info:
The bug seems to appear with commit 9da15a93c61dffb2d6a93d7c32ea7de8cb1aa465.