我刚刚使用 Android SDK Manager 将 Android SDK 工具更新到第 17 版,并将 Android 兼容性更新到第 7 版。现在,我运行多年的程序在启动时崩溃了。
缩小问题范围,我创建了一个新的空白项目,将 android-support-v4.jar 添加到构建路径,并将 Activity 更改为 FragmentActivity ,仅此而已。现在它崩溃了。
错误信息是:
java.lang.ClassNotFoundException: com.example.test.TestActivity in loader dalvik.system.PathClassLoader[/data/app/com.example.test-2.apk]
代码是:
package com.example.test;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
public class TestActivity extends FragmentActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
包括 list 在内的所有其他内容都与默认值保持一致。非常感谢任何帮助!
编辑: list 包括在下面:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="9" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".TestActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
最佳答案
原来这是 Android SDK Tools r17 的问题。我之前一直在使用教程中给出的方法:
http://mobile.tutsplus.com/tutorials/android/android-compatibility-working-with-fragments/
但是,这不再有效。相反,我需要做的就是在 Eclipse 中右键单击我的项目并选择 Android Tools-->Add Support Library...
这样做意味着不再需要转到 Java 构建路径并单击“添加外部 JAR...”
非常感谢 eMich 提供此解决方案,来自:Jar-file issue with ADT r17
关于android - FragmentActivity 导致 ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9931040/