2013-08-20 4 views
0

ERROR : 내가 응용 프로그램을 실행하면 .. 내 실수를보고 그것은 자동으로 내 매니페스트 파일을 점검에도 불구하고 강제 종료 ..하지만 어쩌면 내가 다른 사람의 눈이 필요인스턴스화 할 수 없습니다 응용 프로그램

08-21 00:08:53.544: D/AndroidRuntime(31470): Shutting down VM 
08-21 00:08:53.544: W/dalvikvm(31470): threadid=1: thread exiting with uncaught exception (group=0x4001b6a8) 
08-21 00:08:53.549: E/AndroidRuntime(31470): FATAL EXCEPTION: main 
08-21 00:08:53.549: E/AndroidRuntime(31470): java.lang.RuntimeException: Unable to instantiate application com.sg.js.OldMaid.OldMaid: java.lang.ClassNotFoundException: com.sg.js.OldMaid.OldMaid in loader 
dalvik.system.PathClassLoader[/mnt/asec/com.sg.js.OldMaid-1/pkg.apk] 
08-21 00:08:53.549: E/AndroidRuntime(31470): at android.app.LoadedApk.makeApplication(LoadedApk.java:497) 
08-21 00:08:53.549: E/AndroidRuntime(31470): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3362) 
08-21 00:08:53.549: E/AndroidRuntime(31470): at android.app.ActivityThread.access$2200(ActivityThread.java:155) 
08-21 00:08:53.549: E/AndroidRuntime(31470): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1037) 
08-21 00:08:53.549: E/AndroidRuntime(31470): at android.os.Handler.dispatchMessage(Handler.java:130) 
08-21 00:08:53.549: E/AndroidRuntime(31470): at android.os.Looper.loop(SourceFile:351) 
08-21 00:08:53.549: E/AndroidRuntime(31470): at android.app.ActivityThread.main(ActivityThread.java:3820) 
08-21 00:08:53.549: E/AndroidRuntime(31470): at java.lang.reflect.Method.invokeNative(Native Method) 
08-21 00:08:53.549: E/AndroidRuntime(31470): at java.lang.reflect.Method.invoke(Method.java:538) 

CODE :

<?xml version="1.0" encoding="Utf-8"?> 
<manifest android:versionCode="4" android:versionName="1.0.4" package="com.sg.js.OldMaid" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<application 
android:allowBackup="true" 
android:label="@string/app_name" 
android:icon="@drawable/icon" 
android:name=".OldMaid" 
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" > 
<activity 
android:label="@string/app_name" 
android:name=".OldMaid" 
android:screenOrientation="portrait" 
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode "> 
<intent-filter> 
<action android:name="android.intent.action.MAIN" /> 
<category android:name="android.intent.category.LAUNCHER" /> 
</intent-filter> 
</activity> 
<activity android:name="com.google.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode" /> 
</application> 
</manifest> 

이 내 Manifest.xml입니다 .. 약간의 실수가 적 있는지 확인하세요.

+1

클래스 이름이'com.sg.js.OldMaid.OldMaid'입니까? 즉,'com.sg.js.OldMaid' 패키지에'OldMaid'라는 클래스가 있습니까? BTW는 SO FAQ를 읽고 질문 제목을 개선하십시오. 현재에는 아무런 정보도 없습니다. –

+0

oldmaid 클래스는 어떻게 생겼습니까? –

+0

기본 해결 : 프로젝트 정리를 시도 했습니까? –

답변

1

package = "..."속성에 클래스 이름이있는 것 같습니다. 해당 속성의 끝에서 ".OldMaid"를 제거하십시오.

+0

이 경우, 컴파일 시간 오류가 발생하지 않아야합니까? – Androiderson

+0

패키지 이름과 활동 클래스 이름 (활동의 android : name 속성)이 문자열로 추가되어이 활동을 시작하기 위해 인스턴스화해야하는 클래스의 완전한 이름을 생성하지만, 그 이름으로 클래스는 실제로 런타임까지 존재합니다. 따라서 클래스 오류를 찾을 수 없습니다. –

+0

저는 방금 시뮬레이션을 시도했습니다. 그렇습니다. 컴파일됩니다. 그러나 안드로이드 스튜디오는 앱을 실행하려고 시도조차하지 않을 것이고, 'Default Activity not found'오류가 발생한다. Intellij IDEA는 경고 만하고, 이클립스는 이것을 확인조차하지 않는다고 생각합니다. – Androiderson

0

내 경우에 문제가 내 모듈의 gradle 구성에 거짓말!
에는 패키지의 문자열 값을 포함하는applicationId이라는 필드가 들어 있습니다. 그리고 이것은 명백하게 오래된 패키지 이름을 포함합니다!
이 문제를 해결하고 gradle sync 후에 모든 것이 잘 작동했습니다!

관련 문제