2013-08-21 3 views
0

완벽하게 작동하는 Android 프로젝트가 있습니다. MainActivity, CorrectAnswerActivity 및 UserFailed의 세 가지 활동이 있습니다. CorrectAnswerActivity 및 UserFailed에 Google Play 서비스 API를 사용하여 BaseGameUtil을 확장하고 있습니다.이제는 noclassdeffounderror가되는 android 프로젝트의 패키지 이름이 변경되었습니다.

내 패키지 이름을 변경하는 것이 좋을 때까지 (게임 이름을 변경했기 때문에) 이것은 모두 괜찮 았습니다. 이제 MainActivity에서 Failed 또는 Correct로 이동하는 버튼을 클릭하면 CorrectAnswerActivity 또는 UserFailed를 찾을 수없는 것처럼 noclassdeffounderror가 표시됩니다.

새 패키지 이름과 언급 된 다른 모든 위치로 내 Manifest를 업데이트했습니다. 이

public class CorrectAnswerActivity extends BaseGameActivity 
implements View.OnClickListener { 

함께 할 수있는 뭔가가하지만 라이브러리 내에서 아무것도 변경하지 않은 것처럼

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) 

는 느낌.

도움 주셔서 감사합니다. 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

이 깨끗 했 이름 변경 후 전체 프로젝트를 다시 빌드하고 어떤 패키지가 올바른지 확인하십시오. – chrylis

+0

전체 프로젝트를 정리했습니다. 내 모든 활동은 com.blackcrowndev.numbers에 있습니다. – perryratcliff

+0

Java에서 추가 된 모든 jar 파일을 제거하십시오. 프로젝트를 청소하십시오. 이제 Java 빌드 경로에 항아리를 다시 추가하십시오. 다시 청소하십시오. –

답변

1

마우스 오른쪽 버튼으로 프로젝트를 클릭 한 다음 속성으로 이동 -> javabuild 경로를 -> 주문 수출이 필요 선택하고 프로젝트를 청소합니다.

+0

이것은 도움이되지 않았습니다. – perryratcliff

1

ADT 버그로 문제가있는 것 같습니다. https://code.google.com/p/android/issues/detail?id=55304

그리고 " '응용 프로그램 프로젝트 속성 -> 주문 및 수출에 가서 확인한다 StackOverflow의

ClassNotFoundException after changing extension from Activity to BaseGameActivity

에서 일부 비슷한 질문과 답변을 알고 해결 방법이 있습니다 -

확인

모든 도서관 프로젝트를위한 'Android Private Libraries' '. (귀하의 경우, 구글은 서비스 라이브러리 '안드로이드 개인 라이브러리'로 설정해야 재생할 수 있습니다.

0

변경 패키지 이름을 매니페스트 파일에 각 클래스 파일에 해당하는 어떤 이름이 변경되지 않은 경우!

관련 문제