2013-08-20 73 views
0

錯誤:無法實例化應用

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'的類?順便說一句,請閱讀SO常見問題解答並改進您的問題標題,目前不包含任何信息 –

+0

oldmaid類是什麼樣的? –

+0

默認解決方案:您是否嘗試清理您的項目? –

回答

1

您似乎在package =「...」屬性中具有類名稱。嘗試從該屬性的末尾刪除「.ldldMaid」。

+0

如果是這樣的話,它不應該拋出編譯時錯誤? – Androiderson

+0

包名和Activity類的名稱(來自activity的android:name屬性)被作爲字符串附加到,以產生應該實例化以啓動此Activity的類的完全限定名,但它不檢查以確保這個名字的類實際上一直存在,直到運行時。因此班級沒有發現錯誤。 –

+0

我剛剛嘗試模擬,是的,它編譯。但Android Studio甚至不會嘗試啓動該應用程序,從而導致「未找到默認活動」錯誤。 Intellij IDEA只給出一個警告,我猜Eclipse甚至不檢查這個。 – Androiderson

0

在我的情況下,問題在於我的模塊的gradle配置
It 包含一個名爲applicationId的字段,其中包含該包的字符串值。這顯然包含了舊的包名!
我解決了這個問題,在gradle同步之後,一切正常!

相關問題