singwhatiwanna / dynamic-load-apk

DL : dynamic load framework in android
http://blog.csdn.net/singwhatiwanna/article/details/40283117
Other
6.03k stars 2k forks source link

DL 1.0.0 2014.10.31 版本调起时报错 #27

Closed cikichen closed 9 years ago

cikichen commented 9 years ago

11-03 16:21:25.359: E/AndroidRuntime(26382): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xx.airplan/com.ryg.dynamicload.DLProxyFragmentActivity}: java.lang.NullPointerException: Attempt to read from field 'android.content.res.AssetManager com.ryg.dynamicload.internal.DLPluginPackage.assetManager' on a null object reference 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2184) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.access$800(ActivityThread.java:135) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.os.Handler.dispatchMessage(Handler.java:102) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.os.Looper.loop(Looper.java:136) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.main(ActivityThread.java:5001) 11-03 16:21:25.359: E/AndroidRuntime(26382): at java.lang.reflect.Method.invoke(Native Method) 11-03 16:21:25.359: E/AndroidRuntime(26382): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) 11-03 16:21:25.359: E/AndroidRuntime(26382): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) 11-03 16:21:25.359: E/AndroidRuntime(26382): Caused by: java.lang.NullPointerException: Attempt to read from field 'android.content.res.AssetManager com.ryg.dynamicload.internal.DLPluginPackage.assetManager' on a null object reference 11-03 16:21:25.359: E/AndroidRuntime(26382): at com.ryg.dynamicload.internal.DLProxyImpl.onCreate(DLProxyImpl.java:92) 11-03 16:21:25.359: E/AndroidRuntime(26382): at com.ryg.dynamicload.DLProxyFragmentActivity.onCreate(DLProxyFragmentActivity.java:45) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.Activity.performCreate(Activity.java:5231) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 11-03 16:21:25.359: E/AndroidRuntime(26382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148) 11-03 16:21:25.359: E/AndroidRuntime(26382): ... 9 more

cikichen commented 9 years ago

自己解决了,新版本的调用方式应该要用 DLPluginManager.getInstance(mContext).loadApk(Environment .getExternalStorageDirectory().getPath()

老方式已经无法调起来了

singwhatiwanna commented 9 years ago

插件起activity全部要通过dlintent,baseactivity中提供了起activity的接口,如果是在fragment等非activity中,需要通过pluginmanager来起activity