Apktool: IllegalStateException after installing the recompiled apk

Created on 25 Feb 2019  Â·  7Comments  Â·  Source: iBotPeaches/Apktool

Information

  1. Apktool Version (apktool -version) -2.3.4
  2. Operating System (Mac, Linux, Windows) -Windows
  3. APK From? (Playstore, ROM, Other) -Other

Stacktrace/Logcat

java.lang.IllegalStateException: Module with the Main dispatcher is missing. Add dependency providing the Main dispatcher, e.g. 'kotlinx-coroutines-android'
        at o.jna.eN(SourceFile:73)
        at o.jna.eN(SourceFile:54)
        at o.jkm.eN(SourceFile:373)
        at o.jnr.eN(SourceFile:25)
        at o.jiu.eN(SourceFile:1109)
        at o.jix.eN(Unknown Source)
        at o.jiy.eN(SourceFile:47)
        at o.jix.eN(Unknown Source)
        at com.teslacoilsw.launcher.preferences.fragments.SettingsNova.Ea(SourceFile:119)
        at o.qx.Ba(SourceFile:2498)
        at o.rn.eN(SourceFile:1501)
        at o.rn.declared(SourceFile:1784)
        at o.rn.eN(SourceFile:1852)
        at o.rn.declared(SourceFile:3269)
        at o.rn.NN(SourceFile:3241)
        at o.ri.k5(SourceFile:223)
        at androidx.fragment.app.FragmentActivity.k5(SourceFile:538)
        at androidx.fragment.app.FragmentActivity.onPostResume(SourceFile:527)
        at androidx.appcompat.app.AppCompatActivity.onPostResume(SourceFile:172)
        at android.app.Activity.performResume(Activity.java:6748)
        at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4037)
        at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4125)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3284)
        at android.app.ActivityThread.access$1000(ActivityThread.java:219)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1735)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:145)
        at android.app.ActivityThread.main(ActivityThread.java:6959)
        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)

Steps to Reproduce

  1. apktool d nova_6.0-beta14-59915.apk
  2. apktool b nova_6.0-beta14-59915
  3. Install and run the launcher
  4. Try to open it again when using the launcher's home

Frameworks

If this APK is from an OEM ROM (Samsung, HTC, LG). Please attach framework files
(.apks that live in /system/framework or /system/priv-app)

APK

If this APK can be freely shared, please upload/attach a link to it.
https://www.apkmirror.com/apk/teslacoil-software/nova-launcher/nova-launcher-6-0-beta14-release/nova-launcher-6-0-beta14-android-apk-download/

Questions to ask before submission

  1. Have you tried apktool d, apktool b without changing anything?Yes
  2. If you are trying to install a modified apk, did you resign it?
  3. Are you using the latest apktool version?Yes

Most helpful comment

This can be fixed by copying the files from original/META-INF to the APK dir's META-INF folder. The following files should be excluded though: *.MF, *.SF, *.RSA.

There is also a command line option c that copies the original manifest and META-INF folder. Though it might not work if you made changes to the manifest.

It was not enough clear for me and I spent several minutes to find how to do it the right way, so if it can help others like me before the next release fixing this issue: it is necessary to copy the folder original/META-INF/services/ into build/apk/META-INF/ (not into META-INF/ at the root).

All 7 comments

Also facing the same issue if using kotlinx libraries

Same problem here with kotlinx android libraries.
It seems like it is changing some package names and Kotlin Coroutines cannot find the main dispatcher for android.

When can we expect this to be fixed ??

This can be fixed by copying the files from original/META-INF to the APK dir's META-INF folder. The following files should be excluded though: *.MF, *.SF, *.RSA.

There is also a command line option c that copies the original manifest and META-INF folder. Though it might not work if you made changes to the manifest.

same problem,how to fix?

This issue will be fixed by this MR.

This can be fixed by copying the files from original/META-INF to the APK dir's META-INF folder. The following files should be excluded though: *.MF, *.SF, *.RSA.

There is also a command line option c that copies the original manifest and META-INF folder. Though it might not work if you made changes to the manifest.

It was not enough clear for me and I spent several minutes to find how to do it the right way, so if it can help others like me before the next release fixing this issue: it is necessary to copy the folder original/META-INF/services/ into build/apk/META-INF/ (not into META-INF/ at the root).

Was this page helpful?
0 / 5 - 0 ratings