3

我目前正在为 Android 开发一个 Wrapper,它用一些与 DRM 相关的东西包装了一个 android apk ......顺便说一下 Android 活动......

当我在模拟器和设备上测试它们时,我创建的活动完美运行。

我尝试将它与我们组织的应用商店中的应用程序集成... 下面的步骤

使用 apktool 提取 apk * 使用 dex2jar 提取类文件 * 将类文件作为类文件夹添加到 Eclipse android 项目中 * 将原始应用程序清单中的活动定义添加到我的清单中 * 从 eclipse 编译并启动应用程序*

注意:我创建的活动运行良好。他们加载完成他们的工作并尝试启动我用来测试集成的游戏应用程序。

这是我遇到验证错误的时候

11-20 22:44:07.670: W/System.err(281):     at
***java.lang.Thread.run(Thread.java:1096)
11-20 22:44:08.050: W/dalvikvm(281): VFY: register1 v0 type 12, wanted
10
11-20 22:44:08.050: W/dalvikvm(281): VFY: register1 v1 type 12, wanted
10
11-20 22:44:08.050: W/dalvikvm(281): VFY:  rejecting opcode 0x71 at
0x0016
11-20 22:44:08.050: W/dalvikvm(281): VFY:  rejected Lao;.a (Ldh;)I
11-20 22:44:08.050: W/dalvikvm(281): Verifier rejected class Lao;***
11-20 22:44:08.060: D/AndroidRuntime(281): Shutting down VM
11-20 22:44:08.060: W/dalvikvm(281): threadid=1: thread exiting with
uncaught exception (group=0x4001d800)
11-20 22:44:08.170: E/AndroidRuntime(281): FATAL EXCEPTION: main
11-20 22:44:08.170: E/AndroidRuntime(281): java.lang.VerifyError: ao
11-20 22:44:08.170: E/AndroidRuntime(281):     at
ca.jamdat.flight.trivialpursuit_hvga_eu.FlAndroidApp.onCreate(Unknown
Source)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:
1047)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:
2627)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:
2679)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
android.app.ActivityThread.access$2300(ActivityThread.java:125)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
android.os.Handler.dispatchMessage(Handler.java:99)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
android.os.Looper.loop(Looper.java:123)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
android.app.ActivityThread.main(ActivityThread.java:4627)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
java.lang.reflect.Method.invokeNative(Native Method)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
java.lang.reflect.Method.invoke(Method.java:521)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-20 22:44:08.170: E/AndroidRuntime(281):     at
dalvik.system.NativeStart.main(Native Method)
4

1 回答 1

1

现在我已经解决了这个问题..

问题可能是我用来从 apk 中提取 .class 文件的 dex2jar 工具(类可能已损坏)。

我创建了我的实现的 smali 文件,并将它们粘贴到使用 apktool 提取的实际应用程序的 smali 文件夹中,并使用反射加载类,而不是直接将它们导入到我编译的字节码中。

Offffffff 解决了... :)

于 2011-11-22T14:07:14.227 回答