【发布时间】:2013-08-21 02:54:07
【问题描述】:
我有一个运行良好的 android 项目。它具有三个活动:MainActivity、CorrectAnswerActivity 和 UserFailed。我在 CorrectAnswerActivity 和 UserFailed 上使用 Google Play Services api,所以这些正在扩展 BaseGameUtil。
这一切都很好,直到我认为更改我的包名称是个好主意(因为我更改了我的游戏名称)。因此,现在当您单击 MainActivity 上的按钮时,它将带您进入 Failed 或 Correct,我得到 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>
【问题讨论】:
-
在名称更改后,您是否清理并重建了整个项目?你能确认
CorrectAnswerActivity在哪个包里吗? -
我确实清理了整个项目。我所有的活动都在 com.blackcrowndev.numbers
-
删除所有在java构建路径下添加的jar文件。清理项目。现在将jar重新添加到java构建路径中。再次清理。
标签: java android google-play-games