register insert code cost time: 22 ms
register cost time: 350 ms
:demo:transformClassesWithDexBuilderForDebug
a 正常
demo 将 a 也注册了
点击demo 任意按钮崩溃
FATAL EXCEPTION: main
Process: com.billy.cc.demo, PID: 30079
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/billy/cc/demo/component/a/ComponentA;
at com.billy.cc.core.component.ComponentManager.(ComponentManager.java:27)
at com.billy.cc.core.component.ComponentManager.call(Unknown Source:0)
at com.billy.cc.core.component.CC.call(CC.java:558)
at com.billy.cc.demo.MainActivity.onClick(MainActivity.java:73)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24697)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.billy.cc.demo.component.a.ComponentA" on path: DexPathList[[zip file "/data/app/com.billy.cc.demo-mqT17mT7WX75xV-GDvINqw==/base.apk"],nativeLibraryDirectories=[/data/app/com.billy.cc.demo-mqT17mT7WX75xV-GDvINqw==/lib/x86, /system/lib, /system/vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.billy.cc.core.component.ComponentManager.(ComponentManager.java:27)
at com.billy.cc.core.component.ComponentManager.call(Unknown Source:0)
at com.billy.cc.core.component.CC.call(CC.java:558)
at com.billy.cc.demo.MainActivity.onClick(MainActivity.java:73)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24697)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
修改项目 demo build.gradle
demo 依赖 b, a 独立运行
错误 1
b 的 action 没有注册进去
demo 调用b 没反应,因为action 没注册进去 a 未 安装,所以也没反应
A 正常,但调不起来,可能是权限问题,没去试
错误 2
register scan all class cost time: 220 ms
insert register code to file:D:\github_repo\CC\demo_component_a\build\intermediates\transforms\auto-register\debug\0.jar com/billy/cc/demo/component/a/ComponentA
codeInsertToClassName:com/billy/cc/core/component/ComponentManager.class
The specified register class not found:com/billy/cc/demo/component/b/ComponentB register insert code cost time: 16 ms register cost time: 236 ms
:demo_component_a:transformClassesWithDexBuilderForDebug // // 省略 // :demo:transformClassesWithAuto-registerForDebug start auto-register transform...
register scan all class cost time: 328 ms
insert register code to file:D:\github_repo\CC\demo\build\intermediates\transforms\auto-register\debug\0.jar com/billy/cc/demo/component/a/ComponentA com/billy/cc/demo/component/b/ComponentB com/billy/cc/demo/lifecycle/LifecycleComponent
codeInsertToClassName:com/billy/cc/core/component/ComponentManager.class insert register code to file:D:\github_repo\CC\demo\build\intermediates\transforms\auto-register\debug\14.jar com/billy/cc/demo/component/b/processor/CheckAndLoginProcessor com/billy/cc/demo/component/b/processor/GetDataProcessor com/billy/cc/demo/component/b/processor/GetNetworkDataProcessor com/billy/cc/demo/component/b/processor/LoginProcessor com/billy/cc/demo/component/b/processor/ShowActivityProcessor
codeInsertToClassName:com/billy/cc/demo/component/b/ComponentB.class
register insert code cost time: 22 ms register cost time: 350 ms
:demo:transformClassesWithDexBuilderForDebug
FATAL EXCEPTION: main Process: com.billy.cc.demo, PID: 30079 java.lang.NoClassDefFoundError: Failed resolution of: Lcom/billy/cc/demo/component/a/ComponentA; at com.billy.cc.core.component.ComponentManager.(ComponentManager.java:27)
at com.billy.cc.core.component.ComponentManager.call(Unknown Source:0)
at com.billy.cc.core.component.CC.call(CC.java:558)
at com.billy.cc.demo.MainActivity.onClick(MainActivity.java:73)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24697)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.billy.cc.demo.component.a.ComponentA" on path: DexPathList[[zip file "/data/app/com.billy.cc.demo-mqT17mT7WX75xV-GDvINqw==/base.apk"],nativeLibraryDirectories=[/data/app/com.billy.cc.demo-mqT17mT7WX75xV-GDvINqw==/lib/x86, /system/lib, /system/vendor/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.billy.cc.core.component.ComponentManager.(ComponentManager.java:27)
at com.billy.cc.core.component.ComponentManager.call(Unknown Source:0)
at com.billy.cc.core.component.CC.call(CC.java:558)
at com.billy.cc.demo.MainActivity.onClick(MainActivity.java:73)
at android.view.View.performClick(View.java:6256)
at android.view.View$PerformClick.run(View.java:24697)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)