Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign up官方Examples:Sample 启动直接崩了,有log信息:java.lang.RuntimeException: Unable to instantiate activity ComponentInfo #412
Comments
|
你好,请按照首页贡献指南中的issue模板修改下issue |
|
感觉是机型的问题,我试了下魅族就可以,一加x就不行了 |
|
我手头没有这个机型,麻烦协助调试下 // Replace instrumentation
try {
f = thread.getClass().getDeclaredField("mInstrumentation");
f.setAccessible(true);
base = (Instrumentation) f.get(thread);
wrapper = new ApkBundleLauncher.InstrumentationWrapper(base);
f.set(thread, wrapper);
} catch (Exception e) {
throw new RuntimeException("Failed to replace instrumentation for thread: " + thread);
}
// Inject message handler
try {
f = thread.getClass().getDeclaredField("mH");
f.setAccessible(true);
Handler ah = (Handler) f.get(thread);
f = Handler.class.getDeclaredField("mCallback");
f.setAccessible(true);
f.set(ah, new ApkBundleLauncher.ActivityThreadHandlerCallback());
} catch (Exception e) {
throw new RuntimeException("Failed to replace message handler for thread: " + thread);
}如果已正常替换,再看下以下两个重定向方法是不是都没有走到或者执行异常: /** @Override V21+
* Wrap activity from REAL to STUB */
public ActivityResult execStartActivity(
Context who, IBinder contextThread, IBinder token, Activity target,
Intent intent, int requestCode, android.os.Bundle options) {
wrapIntent(intent);
return ReflectAccelerator.execStartActivity(mBase,
who, contextThread, token, target, intent, requestCode, options);
}
/** @Override V20-
* Wrap activity from REAL to STUB */
public ActivityResult execStartActivity(
Context who, IBinder contextThread, IBinder token, Activity target,
Intent intent, int requestCode) {
wrapIntent(intent);
return ReflectAccelerator.execStartActivity(mBase,
who, contextThread, token, target, intent, requestCode);
} |
|
经过调试,最后有个方法:return null了;如下: 就是在invoke方法中执行了return null ,但是这个似乎不是原因。 |
|
|
|
不是的话,要看下 |
|
是的,这个intent就是插件activity了 |
|
这个问题现在有思路吗??可能是什么原因造成的??? |
从你调试的结果看,没毛病呀,,要看下什么地方没拦截成功,直接把 |
|
我们应用在testIn上也测出了这个问题是一加的手机,应该是产商的氢Os系统有些奇怪的地方,可以肯定的是不是所有一加自己的OS出现的问题 ,同事一台一加刷的海外版OxygenOs没有问题。还有两款手机美图 V4和IUNI N1,Android版本都是5.1。准备自己刷机跟进下 |
错误报告
你做了什么?
我下载了官方Examples:Sample,编译正常,当运行安装成功后,启动app,直接闪退,且有log信息;
你期望的结果是什么?
Sample能正常运行且正常启动,正常使用;
实际结果是什么?
Sample启动时闪退,报错信息如下:
...(--stacktrace堆栈,需包含net.wequick.gradle包名下的错误)
Small发送运行报错,报错信息如下:
Process: net.wequick.example.small, PID: 2853
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{net.wequick.example.small/net.wequick.small.A}: java.lang.ClassNotFoundException: Didn't find class "net.wequick.small.A" on path: DexPathList[[zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_app_detail.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_appok_if_stub.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_app_mine.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_lib_analytics.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libcom_example_mysmall_lib_style.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_lib_utils.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_app_main.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_app_home.so", zip file "/data/app/net.wequick.example.small-1/base.apk"],nativeLibraryDirectories=[/data/app/net.wequick.example.small-1/lib/arm, /vendor/lib, /system/lib, /data/data/net.wequick.example.small/files/storage/net.wequick.example.small.app.mine/lib/armeabi-v7a]]
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2291)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2459)
at android.app.ActivityThread.access$900(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:139)
at android.app.ActivityThread.main(ActivityThread.java:5338)
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:950)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
Caused by: java.lang.ClassNotFoundException: Didn't find class "net.wequick.small.A" on path: DexPathList[[zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_app_detail.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_appok_if_stub.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_app_mine.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_lib_analytics.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libcom_example_mysmall_lib_style.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_lib_utils.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_app_main.so", zip file "/data/app/net.wequick.example.small-1/lib/arm/libnet_wequick_example_small_app_home.so", zip file "/data/app/net.wequick.example.small-1/base.apk"],nativeLibraryDirectories=[/data/app/net.wequick.example.small-1/lib/arm, /vendor/lib, /system/lib, /data/data/net.wequick.example.small/files/storage/net.wequick.example.small.app.mine/lib/armeabi-v7a]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
at android.app.Instrumentation.newActivity(Instrumentation.java:1073)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2281)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2459)
at android.app.ActivityThread.access$900(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:139)
at android.app.ActivityThread.main(ActivityThread.java:5338)
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:950)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
Suppressed: java.lang.ClassNotFoundException: net.wequick.small.A
at java.lang.Class.classForName(Native Method)
at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 13 more
Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
...
Small环境
Compile-time
Bundles
Sample 默认
(注:编译时错误只需本行以上内容,运行时错误补充本行以下内容)
Runtime