2014-03-24 143 views
0

我打算在市場上發佈我的應用程序。但是當我簽下我的apk並安裝它之後,我甚至在加載一個活動之前發生崩潰。我所在的下面的錯誤在logcat的簽署的Android應用程序崩潰

03-24 14:57:03.080: E/AndroidRuntime(4310): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.golfboxdk/com.golfboxdk.LoginActivity}: 
java.lang.ClassNotFoundException: Didn't find class "com.golfboxdk.LoginActivity" on path: DexPathList[[zip file "/data/app/com.golfboxdk-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.golfboxdk-1, /vendor/lib, /system/lib]] 

我檢查了我的表現,我真的什麼錯無法弄清楚。當我使用未簽名的apk時,我的應用程序運行平穩。

這是我已經嘗試過我的清單

package="com.golfboxdk" 
android:versionCode="5" 
android:versionName="1.7.2" > 

<uses-sdk 
    android:minSdkVersion="9" 
    android:targetSdkVersion="17" /> 

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 

<application 
    android:name="com.golfboxdk.utils.GolfBoxApplication" 
    android:allowBackup="false" 
    android:icon="@drawable/app_icon" 
    android:killAfterRestore="true" 
    android:label="@string/app_name" 
    android:theme="@android:style/Theme.Light.NoTitleBar" > 
    <activity 
     android:name="com.golfboxdk.LoginActivity" 
     android:label="@string/app_name" 
     android:launchMode="singleTop" 
     android:screenOrientation="portrait" > 

     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 

    </activity> 

事情的開始: 啓用下的所有文件 - >項目 - >屬性 - > Java構建路徑 - >訂單和專家,然後用乾淨的。 檢查ProGuard是否被激活(不是)

+3

我認爲你應該檢查proguard設置。它不會在調試版本上運行,而是在版本上運行。 – Leonidos

+0

是的,除非你從陳舊的源代碼構建它,它看起來像proguard可能會拋出你的活動名稱*,或它取決於*的東西的名稱。我相信proguard提供了一個報告文件,詳細說明它做了什麼,或者你也可以考慮通過反編譯器運行你的簽名的apk來查看實際發生的事情。在依賴關係中斷的情況下,可能會在app install/dexopting期間在logcat中生成消息,這可能會提供一些線索。 –

+0

嗨, 這種情況對我來說太多了,我使用Eclipse來導出應用程序,每當我導出它,我要做的第一件事就是檢查它是否運行! 當我得到這樣的異常,每3次導出一次就發生一次,我只需重新導出應用一次或兩次,直到它正確運行。 我frnakly不知道爲什麼會發生,我沒有試圖挖掘瞭解。我一直認爲這是因爲應用程序的大小(apk大約是6Mo)。 我希望這可以幫助,也有興趣弄清楚這一點。 – KLiFF

回答

8

嘗試以下操作:

  1. 項目>取消選中自動構建
  2. 清潔工作區
  3. 手動構建項目
  4. 簽署APK,它通過藍牙/ WIFI /電子郵件發送到設備,等
  5. 測試它,如果它工作,將其釋放
+0

我會試一試 – user2408952

+0

我會等待;) –

+0

OV YES!但爲什麼這個工作?非常感謝 – user2408952

0

我以前用Eclipse/ADT有過這個問題。有時,它似乎沒有正確打包APK。

通常情況下,清理並生成,然後再次導出已簽名的APK會爲我修復它。

+0

試過這個,沒有幫助 – user2408952

0

沒有人說proguard會有問題,但只有this解決了我的問題。