我有一个完美的Android项目。它有三个活动:MainActivity,CorrectAnswerActivity和UserFailed。我在CorrectAnswerActivity和UserFailed上使用Google Play服务API,因此这些API正在扩展BaseGameUtil。
这一切都很好,直到我认为更改我的包名称是个好主意(因为我更改了我的游戏名称)。所以,现在当你点击MainActivity上的一个按钮,这将导致你失败或纠正,我得到noclassdeffounderror,好像它找不到CorrectAnswerActivity或UserFailed。
我使用新的包名更新了我的清单,并且提到了其他每个地方。
08-20 21:45:29.765: E/AndroidRuntime(5549):
Caused by: java.lang.NoClassDefFoundError: com.blackcrowndev.numbers.CorrectAnswerActivity
08-20 21:45:29.765: E/AndroidRuntime(5549): at com.blackcrowndev.numbers.MainActivity.onClickGuess(MainActivity.java:254)
我觉得它好像与
有关public class CorrectAnswerActivity extends BaseGameActivity
implements View.OnClickListener {
但是我没有更改库中的任何内容。
感谢帮助人员。我是Java和Android开发人员的新手,所以如果我需要提供更多信息,请告诉我。我会留下你的清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.blackcrowndev.numbers"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/Theme.Password" >
<meta-data
android:name="com.google.android.gms.games.APP_ID"
android:value="@string/app_id" />
<activity
android:name="com.blackcrowndev.numbers.MainActivity"
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>
<activity
android:name="com.blackcrowndev.numbers.CorrectAnswerActivity"
android:label="@string/title_activity_correct_answer"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.blackcrowndev.numbers.UserFailed"
android:label="@string/title_activity_user_failed"
android:screenOrientation="portrait" >
</activity>
<activity
android:name="com.blackcrowndev.numbers.HowToPlay"
android:label="@string/title_activity_how_to_play"
android:screenOrientation="portrait">
</activity>
</application>
</manifest>
答案 0 :(得分:1)
右键单击项目,然后转到属性 - &gt; javabuild路径 - &gt;订单导出选择所需并清理您的项目。
答案 1 :(得分:1)
您似乎遇到了ADT错误。
检查 - https://code.google.com/p/android/issues/detail?id=55304
StackOverflow中有一些类似的问题和答案
ClassNotFoundException after changing extension from Activity to BaseGameActivity
了解解决方法是“转到属性 - &gt;在应用项目上订购和导出,并检查所有库项目的'Android私有库'”。 (在您的情况下,Google Play服务库应设置为“Android私有库”。
答案 2 :(得分:0)
更改清单文件中的包名称,对应于每个类文件,如果没有重命名!!