Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

用源码中TestPlugin加载金山的wps.apk出现类型转换错误。 #27

Open
scj1984 opened this issue Sep 18, 2015 · 3 comments
Open

Comments

@scj1984
Copy link

scj1984 commented Sep 18, 2015

1:安装TestPlugin 加载其它apk 能正常运行。
2:单独安装wps.apk 能正常运行,并且可以打开ppt。
3:卸载wps.apk
4:通过插件加载wps.apk能正常加载,启动以后wps欢迎界面也出来了,显示wps主界面的时候出现如下错误。

09-17 05:22:47.272 238-567/? W/genymotion_audio﹕ out_write() limiting sleep time 46802 to 39909
09-17 05:22:47.288 12305-12305/com.example.TestPlugin:PluginP01 W/Bundle﹕ Key android.intent.extra.TEXT expected ArrayList but value was a java.lang.String. The default value was returned.
09-17 05:22:47.288 12305-12305/com.example.TestPlugin:PluginP01 W/Bundle﹕ Attempt to cast generated internal exception:
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.ArrayList
at android.os.Bundle.getCharSequenceArrayList(Bundle.java:1367)
at android.content.Intent.getCharSequenceArrayListExtra(Intent.java:4736)
at android.content.Intent.migrateExtraStreamToClipData(Intent.java:7252)
at android.content.Intent.migrateExtraStreamToClipData(Intent.java:7219)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1417)
at android.app.Activity.startActivityForResult(Activity.java:3424)
at android.app.Activity.startActivityForResult(Activity.java:3385)
at android.app.Activity.startActivity(Activity.java:3627)
at android.app.Activity.startActivity(Activity.java:3595)
at ckg.a(Unknown Source)
at cn.wps.moffice.crash.CrashActivity.a(Unknown Source)
at cn.wps.moffice.crash.CrashActivity$1.go(Unknown Source)
at ckj$2.onClick(Unknown Source)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)

@liuhy1989121
Copy link

哥们,能请教一下怎么集成的吗,我怎么安装启动插件一直报插件的main activity没注册.我是按照文档配置的。而且我用测试demo也会报这个错误。

@mejonzhan
Copy link

运行那个TestPlugin都会报错
FATAL EXCEPTION: main
E/AndroidRuntime(27823): Process: com.example.TestPlugin, PID: 27823
E/AndroidRuntime(27823): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.TestPlugin/com.example.TestPlugin.MyActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.TestPlugin.MyActivity" on path: DexPathList[[zip file "/data/app/com.example.TestPlugin-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.TestPlugin-1, /vendor/lib, /system/lib]]
E/AndroidRuntime(27823): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2122)
E/AndroidRuntime(27823): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
E/AndroidRuntime(27823): at android.app.ActivityThread.access$800(ActivityThread.java:140)
E/AndroidRuntime(27823): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1202)
E/AndroidRuntime(27823): at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(27823): at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(27823): at android.app.ActivityThread.main(ActivityThread.java:5143)
E/AndroidRuntime(27823): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(27823): at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(27823): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
E/AndroidRuntime(27823): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602)
E/AndroidRuntime(27823): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(27823): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.TestPlugin.MyActivity" on path: DexPathList[[zip file "/data/app/com.example.TestPlugin-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.TestPlugin-1, /vendor/lib, /system/lib]]
E/AndroidRuntime(27823): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E/AndroidRuntime(27823): at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
E/AndroidRuntime(27823): at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
E/AndroidRuntime(27823): at android.app.Instrumentation.newActivity(Instrumentation.java:1063)
E/AndroidRuntime(27823): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2113)
E/AndroidRuntime(27823): ... 11 more

@hellokugo
Copy link

在公司用demo试了没问题,在家用一样的工程却报找不到类,这类明明是有的,怎么会没找到呢?肯定是配置出问题了。
1.首先,你得保证导入工程不能删除任何东西,这里说明下,一般我导入其他工程出现appcompat_v7\res\values-v23\styles_base_text.xml:19: error: Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
做法都是把相关的报错xml删掉(因为一般用不到)就行了,但是这样会出现问题,在MyActivity类中继承的ActionBarActivity是从android.support.v7.app.ActionBarActivity import出来的,这就说明不能简单地删除,不然有可能出现You need to use a Theme.AppCompat theme (or descendant) with this activity.之类的错误;
2.后来没生成R文件,但是工程却没有红叉,这时候要看一下控制台的problems页面,发现要修改 android:minSdkVersion="11";
3.由于没找到的MyActivity是继承于ActionBarActivity,而ActionBarActivity从android.support.v7.app.ActionBarActivity import出来的,所以怀疑是v7包导入问题。所以,最最最重要的是,不知道为什么这次导入的工程队v7引用是在Java Build Path里面的导入,这里是一个关键坑!因为这种方式的导入和引用依赖的导入是不一样的概念,这也是这次出错的关键!
4.ok,只要把v7包改成工程依赖,不通过add jars这种方式引用就ok了,相信你们也是这个原因。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants