wequick / Small

A small framework to split app into small parts
http://code.wequick.net/Small
Apache License 2.0
5.04k stars 1.11k forks source link

android 6.0.1 启动插件activity出现android.content.pm.PackageManager$NameNotFoundException #261

Open tcking opened 8 years ago

tcking commented 8 years ago

前提 android 6.0.1

现象 activity启动时出现如下日志,但是app并没有crash掉

W/ResourcesManager: getTopLevelResources: /data/app/com.test-1/base.apk / 1.0 running in com.test rsrc of package com.test
08-09 16:04:01.157 4634-4634/com.test W/System.err: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{com.test/com.test.app.main.activity.MainActivity}
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.app.ApplicationPackageManager.getActivityInfo(ApplicationPackageManager.java:404)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at com.android.internal.policy.PhoneWindow.installDecor(PhoneWindow.java:4831)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at com.android.internal.policy.PhoneWindow.getDecorView(PhoneWindow.java:2263)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.view.Window.findViewById(Window.java:1049)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:469)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:309)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:273)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:139)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at com.test.app.main.activity.MainActivity.onCreate(MainActivity.java:99)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.app.Activity.performCreate(Activity.java:6876)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1135)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at net.wequick.small.ApkBundleLauncher$InstrumentationWrapper.callActivityOnCreate(ApkBundleLauncher.java:170)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3207)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3350)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.app.ActivityThread.access$1100(ActivityThread.java:222)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1795)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:102)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.os.Looper.loop(Looper.java:158)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:7237)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
08-09 16:04:01.157 4634-4634/com.test W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:112

在6+里貌似还要hack packageManager

galenlin commented 8 years ago

我用Sample在模拟器下跑好像没看到这个错误,是不是跟v7版本有关?

tcking commented 8 years ago

v7用的是23.4.0

tcking commented 8 years ago

从日志看应该还是android sdk的,在installDecor时会去调pm的getActivityInfo,此时找不到插件中的activityInfo

WooYu commented 8 years ago

今天我也碰到这个问题了,@tcking 你解决了没

601367322 commented 8 years ago

遇到了同样的问题!!!

YujieShui commented 7 years ago

所以怎么解决的?

nujnay commented 6 years ago

有办法解决喵