2014-01-11 25 views
0

我的理解是,如果您在Eclipse中導出 - >導出Android應用程序,並遵循密鑰存儲區和別名的創建,Android應用程序將準備好上傳到Google play(它將被簽名和zipaligned)。在Eclipse中爲Android應用程序簽發jar文件

我做以上,然後跑:

jarsigner -verify my_signed.apk 

,並得到如下:

jar verified. 
    Warning: 
    This jar contains entries whose certificate chain is not validated. 

任何想法?當我從市場上下載應用程序時,我得到了「classnotfoundexceptions」,但是當我從Eclipse(AVD或Android上)運行它時,該應用程序工作正常。驗證問題是否也是原因?

回答

1

「ClassNotFoundExceptions」很可能是Proguard的結果。換句話說,如果你使用的是proguard,某些類必須保留它們的名字,而不是最終被混淆。

當您從Eclipse運行您的應用程序時,構建的apk文件不會被混淆。

看看這裏:http://developer.android.com/tools/help/proguard.html

「的默認proguard.cfg文件試圖以支付:一般情況下,但你可能會遇到例外情況,例如ClassNotFoundException的,當時的ProGuard除掉整個班級,你的應用程序調用它發生。」

而且還運行的jarsigner如下:-verify的jarsigner -keystore

0

鼠標右鍵單擊您的項目, 選擇「屬性」, 選擇「Java構建路徑」,

請確保您有在「庫」選項卡檢查「外部依賴關係」。

+0

我不認爲這是一個選項。在「庫」選項卡中:我有Android依賴項 – emily

0

上一次我遇到這個問題時,我發現我使用的是來自不同版本的JDK的keytooljarsigner

確保你沒有這樣做,你的APK會沒事的。

讓我知道它是否適用於您。

+0

我只安裝了一個JDK:C:\ Program Files \ Java。我看到JDK 1.7。我看到兩個版本的JRE – emily

+0

@ emily,你的JRE的版本是什麼? – yugidroid

+0

我看jre6和jre7 – emily

相關問題