fra*_*llo 3 eclipse android adt android-emulator android-version
我正在为Froyo开发一个应用程序作为最低版本,而Gingerbread作为目标版本.所以,清单显示:
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10"/>
Run Code Online (Sandbox Code Playgroud)
我有一个模拟器和一个带姜饼的Nexus One,应用程序正确部署和安装.但是当它启动时,它会崩溃,并且日志中抛出的错误是:
09-18 06:35:11.240: ERROR/AndroidRuntime(382): FATAL EXCEPTION: main
09-18 06:35:11.240: ERROR/AndroidRuntime(382): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.my.package/com.my.package.Dashboard}: java.lang.ClassNotFoundException: com.my.package.Dashboard in loader dalvik.system.PathClassLoader[/data/app/com.my.package-2.apk]
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.os.Handler.dispatchMessage(Handler.java:99)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.os.Looper.loop(Looper.java:130)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.main(ActivityThread.java:3683)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.reflect.Method.invokeNative(Native Method)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.reflect.Method.invoke(Method.java:507)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at dalvik.system.NativeStart.main(Native Method)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): Caused by: java.lang.ClassNotFoundException: com.my.package.Dashboard in loader dalvik.system.PathClassLoader[/data/app/com.my.package-2.apk]
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
09-18 06:35:11.240: ERROR/AndroidRuntime(382): ... 11 more
Run Code Online (Sandbox Code Playgroud)
是的,活动"仪表板"在清单中声明:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.package"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto">
<activity android:name=".Dashboard"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
...
Run Code Online (Sandbox Code Playgroud)
那么这个问题又与什么有关?这让我疯了.
我在Eclipse 4.2下开发了这个问题.我的主要活动是由AndroidManifest.xml文件引用的,包含正确的包和名称,但仍然无法加载.经过一些调试和评论后,我发现我的主要活动正在实现的界面是问题的根源.此接口在单独的项目中定义,但我未能在Java Build Path中引用该项目.因此,当我构建东西时,它们会正确构建,但是当我启动时,我会立即遇到一个强制关闭,并且出现与此问题相同的错误.
为了解决这个问题,我右键单击Android项目,选择Java Build Path,将我的"公共代码"项目添加到" 项目"选项卡,然后在" 订购和导出"选项卡上选中该项目的框.之后,一切正常.
| 归档时间: |
|
| 查看次数: |
29759 次 |
| 最近记录: |