0

如果我使用未签名的 .apk,我的应用程序运行良好但是,如果我在设备中使用已签名的 .apk(要上传到 Google Play 的那个)对其进行测试,它会抛出以下错误。这是正常的,还是我做错了什么。

E/AndroidRuntime( 6613): FATAL EXCEPTION: main
E/AndroidRuntime( 6613): java.lang.RuntimeException: Unable to instantiate activ
ity ComponentInfo{com.myapp/com.myapp.myappActivity}: java.lang.ClassNo
tFoundException: com.mapp.myappActivity in loader dalvik.system.PathClass
Loader[/system/framework/com.google.android.maps.jar:/data/app/com.myapp-2.ap
k]
E/AndroidRuntime( 6613):        at android.app.ActivityThread.performLaunchActiv
ity(ActivityThread.java:1573)
E/AndroidRuntime( 6613):        at android.app.ActivityThread.handleLaunchActivi
ty(ActivityThread.java:1667)
E/AndroidRuntime( 6613):        at android.app.ActivityThread.access$1500(Activi
tyThread.java:117)
E/AndroidRuntime( 6613):        at android.app.ActivityThread$H.handleMessage(Ac
tivityThread.java:935)
E/AndroidRuntime( 6613):        at android.os.Handler.dispatchMessage(Handler.ja
va:99)
E/AndroidRuntime( 6613):        at android.os.Looper.loop(Looper.java:130)
E/AndroidRuntime( 6613):        at android.app.ActivityThread.main(ActivityThrea
d.java:3687)
E/AndroidRuntime( 6613):        at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime( 6613):        at java.lang.reflect.Method.invoke(Method.java:5
07)
E/AndroidRuntime( 6613):        at com.android.internal.os.ZygoteInit$MethodAndA
rgsCaller.run(ZygoteInit.java:867)
E/AndroidRuntime( 6613):        at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:625)
E/AndroidRuntime( 6613):        at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime( 6613): Caused by: java.lang.ClassNotFoundException: com.castva
st.myappActivity in loader dalvik.system.PathClassLoader[/system/framework/co
m.google.android.maps.jar:/data/app/com.myapp-2.apk]
E/AndroidRuntime( 6613):        at dalvik.system.PathClassLoader.findClass(PathC
lassLoader.java:240)
E/AndroidRuntime( 6613):        at java.lang.ClassLoader.loadClass(ClassLoader.j
ava:551)
E/AndroidRuntime( 6613):        at java.lang.ClassLoader.loadClass(ClassLoader.j
ava:511)
E/AndroidRuntime( 6613):        at android.app.Instrumentation.newActivity(Instr
umentation.java:1021)
E/AndroidRuntime( 6613):        at android.app.ActivityThread.performLaunchActiv
ity(ActivityThread.java:1565)
E/AndroidRuntime( 6613):        ... 11 more
4

2 回答 2

1

这个的大写看起来很奇怪com.myapp/com.myapp.myappActivity

您的班级名称至少应以大写字母开头:MyappActivity

于 2013-04-24T19:50:15.450 回答
1

您是否在 Manifest 中注册了活动?该错误表明缺少 Manifest 注册 - 我可能会添加非常常见的错误。仅通过更改签名证书不会引发此类错误。

编辑

检查您的项目属性并确保您的构建路径包括:

system/framework/com.google.android.maps.jar
于 2013-04-24T19:39:43.630 回答