I tried to use dexlib2 to open a dex file (classes.dex) that I unzipped and extracted from framework.jar but I encountered an error
06-26 20:08:43.697 6094 6094 V log_files: error org.jf.util.ExceptionWithContext: /storage/emulated/0/Android/data/<package.name.redacted>/files/classes.dex is not an apk, dex file or odex file.
06-26 20:08:43.697 6094 6094 V log_files: at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:111)
06-26 20:08:43.697 6094 6094 V log_files: at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:54)
06-26 20:08:43.697 6094 6094 V log_files: at <package.name.redacted>.MainActivity.onCreate(MainActivity.kt:188)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.Activity.performCreate(Activity.java:8595)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.Activity.performCreate(Activity.java:8573)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1456)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3764)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3922)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:139)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:96)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2443)
06-26 20:08:43.697 6094 6094 V log_files: at android.os.Handler.dispatchMessage(Handler.java:106)
06-26 20:08:43.697 6094 6094 V log_files: at android.os.Looper.loopOnce(Looper.java:205)
06-26 20:08:43.697 6094 6094 V log_files: at android.os.Looper.loop(Looper.java:294)
06-26 20:08:43.697 6094 6094 V log_files: at android.app.ActivityThread.main(ActivityThread.java:8177)
06-26 20:08:43.697 6094 6094 V log_files: at java.lang.reflect.Method.invoke(Native Method)
06-26 20:08:43.697 6094 6094 V log_files: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
06-26 20:08:43.697 6094 6094 V log_files: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:971)
I checked with the file command and confirm that classes.dex is a dex file.
file classes.dex
classes.dex: Android dex file, version 039
I am running the application on Android emulator OS version 14.
Hi
I tried to use dexlib2 to open a dex file (classes.dex) that I unzipped and extracted from framework.jar but I encountered an error
I checked with the file command and confirm that classes.dex is a dex file.
I am running the application on Android emulator OS version 14.
The code snippet is taken from https://stackoverflow.com/questions/11343388/is-there-a-way-to-get-a-list-of-all-classes-from-a-dex-file
References https://stackoverflow.com/questions/11343388/is-there-a-way-to-get-a-list-of-all-classes-from-a-dex-file