Caused by: java.lang.RuntimeException: Unable to create application com.xx.x.MyApplication: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
at android.app.LoadedApk.makeApplication(LoadedApk.java:576)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.morgoo.droidplugin.reflect.MethodUtils.invokeMethod(MethodUtils.java:214)
at com.morgoo.droidplugin.reflect.MethodUtils.invokeMethod(MethodUtils.java:246)
at com.morgoo.droidplugin.core.PluginProcessManager.preMakeApplication(PluginProcessManager.java:272)
at com.morgoo.droidplugin.core.PluginProcessManager.preLoadApk(PluginProcessManager.java:228)
at com.morgoo.droidplugin.hook.handle.PluginCallback.handleLaunchActivity(PluginCallback.java:377)
at com.morgoo.droidplugin.hook.handle.PluginCallback.handleMessage(PluginCallback.java:245)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5280)
at java.lang.reflect.Method.invoke(Native Method)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
at cn.jiguang.f.a.a(Unknown Source)
at cn.jiguang.f.a.r(Unknown Source)
at cn.jiguang.c.a.a(Unknown Source)
at cn.jiguang.api.JCoreInterface.init(Unknown Source)
at cn.jpush.android.d.a(Unknown Source)
at cn.jpush.android.api.JPushInterface.init(Unknown Source)
at com.xx.x.MyApplication.onCreate(MyApplication.java:45)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1012)
at com.morgoo.droidplugin.hook.handle.PluginInstrumentation.callApplicationOnCreate(PluginInstrumentation.java:280)
at android.app.LoadedApk.makeApplication(LoadedApk.java:573)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.morgoo.droidplugin.reflect.MethodUtils.invokeMethod(MethodUtils.java:214)
at com.morgoo.droidplugin.reflect.MethodUtils.invokeMethod(MethodUtils.java:246)
at com.morgoo.droidplugin.core.PluginProcessManager.preMakeApplication(PluginProcessManager.java:272)
at com.morgoo.droidplugin.core.PluginProcessManager.preLoadApk(PluginProcessManager.java:228)
at com.morgoo.droidplugin.hook.handle.PluginCallback.handleLaunchActivity(PluginCallback.java:377)
at com.morgoo.droidplugin.hook.handle.PluginCallback.handleMessage(PluginCallback.java:245)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5280)
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:963)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)
问题说明:
当apk作为普通的程序安装时,运行正常。 当apk作为插件apk加载到宿主apk中时,报异常RuntimeException:Unable to create application ……
实际报错在MyApplication的45行,是这么一行代码: JPushInterface.init(this); //极光推送的初始化 是在极光推送的初始化过程中,有一个静态变量List未初始化导致的空指针异常。
初步猜测原因:DroidPlugin在加载插件apk的过程中忽略了一部分生命周期的工作,以至于极光推送的部分服务没有被正常开启,该“静态成员变量”未被初始化,所以导致了空指针异常。
希望能够解决一下哈~
附异常信息:
Caused by: java.lang.RuntimeException: Unable to create application com.xx.x.MyApplication: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference at android.app.LoadedApk.makeApplication(LoadedApk.java:576) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.morgoo.droidplugin.reflect.MethodUtils.invokeMethod(MethodUtils.java:214) at com.morgoo.droidplugin.reflect.MethodUtils.invokeMethod(MethodUtils.java:246) at com.morgoo.droidplugin.core.PluginProcessManager.preMakeApplication(PluginProcessManager.java:272) at com.morgoo.droidplugin.core.PluginProcessManager.preLoadApk(PluginProcessManager.java:228) at com.morgoo.droidplugin.hook.handle.PluginCallback.handleLaunchActivity(PluginCallback.java:377) at com.morgoo.droidplugin.hook.handle.PluginCallback.handleMessage(PluginCallback.java:245) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5280) at java.lang.reflect.Method.invoke(Native Method)
==================================================================
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference at cn.jiguang.f.a.a(Unknown Source) at cn.jiguang.f.a.r(Unknown Source) at cn.jiguang.c.a.a(Unknown Source) at cn.jiguang.api.JCoreInterface.init(Unknown Source) at cn.jpush.android.d.a(Unknown Source) at cn.jpush.android.api.JPushInterface.init(Unknown Source) at com.xx.x.MyApplication.onCreate(MyApplication.java:45) at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1012) at com.morgoo.droidplugin.hook.handle.PluginInstrumentation.callApplicationOnCreate(PluginInstrumentation.java:280) at android.app.LoadedApk.makeApplication(LoadedApk.java:573) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.morgoo.droidplugin.reflect.MethodUtils.invokeMethod(MethodUtils.java:214) at com.morgoo.droidplugin.reflect.MethodUtils.invokeMethod(MethodUtils.java:246) at com.morgoo.droidplugin.core.PluginProcessManager.preMakeApplication(PluginProcessManager.java:272) at com.morgoo.droidplugin.core.PluginProcessManager.preLoadApk(PluginProcessManager.java:228) at com.morgoo.droidplugin.hook.handle.PluginCallback.handleLaunchActivity(PluginCallback.java:377) at com.morgoo.droidplugin.hook.handle.PluginCallback.handleMessage(PluginCallback.java:245) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5280) 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:963) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:758)