I'm getting NoClassFoundError in android

Viewed 197

I bought an app from Codecanyon and when i start the app with my device i get a lots of errors... ( The seller didn't know anything about problem )

How can i fix?

The code where ResolveColor is written.

object ATHUtil {

fun isWindowBackgroundDark(context: Context): Boolean {
    return !ColorUtil.isColorLight(resolveColor(context, android.R.attr.windowBackground))
}

@JvmOverloads
fun resolveColor(context: Context, @AttrRes attr: Int, fallback: Int = 0): Int {
    val a = context.theme.obtainStyledAttributes(intArrayOf(attr))
    try {
        return a.getColor(0, fallback)
    } finally {
        a.recycle()
    }
}

}

java.lang.NoClassDefFoundError: Failed resolution of: Lkotlin/KotlinPackage;
    at code.reno.music.appthemehelper.util.ATHUtil.resolveColor(ATHUtil.kt:17)
    at code.reno.music.appthemehelper.ThemeStore$Companion.accentColor(ThemeStore.kt:214)
    at code.reno.music.player.appshortcuts.AppShortcutIconGenerator.generateUserThemedIcon(AppShortcutIconGenerator.kt:58)
    at code.reno.music.player.appshortcuts.AppShortcutIconGenerator.generateThemedIcon(AppShortcutIconGenerator.kt:35)
    at code.reno.music.player.appshortcuts.shortcuttype.SearchShortCutType.getShortcutInfo$app_fontDebug(SearchShortCutType.kt:38)
    at code.reno.music.player.appshortcuts.DynamicShortcutManager.getDefaultShortcuts(DynamicShortcutManager.kt:37)
    at code.reno.music.player.appshortcuts.DynamicShortcutManager.initDynamicShortcuts(DynamicShortcutManager.kt:46)
    at code.reno.music.player.App.onCreate(App.kt:46)
    at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1155)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6006)
    at android.app.ActivityThread.access$1200(ActivityThread.java:201)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1679)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loop(Looper.java:207)
    at android.app.ActivityThread.main(ActivityThread.java:6867)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:547)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:876)
Caused by: java.lang.ClassNotFoundException: Didn't find class "kotlin.KotlinPackage" on path: DexPathList[[zip file "/data/app/code.reno.music.player.debug-eucHrO85H1-7NwqtiLtrqA==/base.apk"],nativeLibraryDirectories=[/data/app/code.reno.music.player.debug-eucHrO85H1-7NwqtiLtrqA==/lib/arm64, /system/lib64, /system/vendor/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:171)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
1 Answers

I believe you are getting error on intArrayOf method.

It seems there is an issue on Windows 10 Turkish device on building code. Likely utf-8 problem. Code couldn't generate some functions for like İ or ı in it.

There is a bug on Kotlin code generation process for development device with Turkish language (maybe some other languages too).

For now u can change OS to Windows 10 Pro English to resolve error

There is a related answer here

Related