Я пишу плагин и выполняю преобразование, использую код вставки javassist и успешно компилирую, но приложение было cra sh,
Ниже мой код
val onResume = clazz.getDeclaredMethod("onResume")
onResume.insertAfter("com.bingliu.demo.gerrit.utils.Logger.printInfo(\"onResume called\");")
Это cra sh журнал
2020-08-05 17:31:25.663 32579-32579/com.bingliu.demo.gerrit D/AndroidRuntime: Shutting down VM
2020-08-05 17:31:25.673 32579-32579/com.bingliu.demo.gerrit E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.bingliu.demo.gerrit, PID: 32579
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/bingliu/demo/gerrit/utils/Logger;
at com.bingliu.demo.gerrit.MainActivity.onResume(MainActivity.kt:24)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1412)
at android.app.Activity.performResume(Activity.java:7305)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3777)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3817)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1809)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6680)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.bingliu.demo.gerrit.utils.Logger" on path: DexPathList[[zip file "/system/framework/com.google.android.wearable.jar", zip file "/data/app/com.bingliu.demo.gerrit-9Hd8Mg1Nxp1QtE6jwM3iOg==/base.apk"],nativeLibraryDirectories=[/data/app/com.bingliu.demo.gerrit-9Hd8Mg1Nxp1QtE6jwM3iOg==/lib/arm, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.bingliu.demo.gerrit.MainActivity.onResume(MainActivity.kt:24)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1412)
at android.app.Activity.performResume(Activity.java:7305)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3777)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3817)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:51)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1809)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6680)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
код Gradle
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation gradleApi()
implementation 'com.android.tools.build:gradle:4.0.1'
implementation 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72'
implementation 'org.javassist:javassist:3.26.0-GA'
}