2012-03-11 113 views
1

我在NetBeans中使用了一個Android項目(使用NBAndroid) - apk每次都成功安裝,然後,我切換到Eclipse,導出.apk,並嘗試將它安裝到模擬器上。
INSTALL_PARSE_FAILED_NO_CERTIFICATES在Eclipse中構建項目後

adb -s emulator-5554 install MyApkName.apk 

和它說

Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 

在logcat中出現了該行

03-11 10:55:00.710: E/PackageParser(77): Package com.package.name has no certificates at entry res/layout/chatrow.xml; ignoring! 
+2

看來,這個錯誤的很多情況都與JDK1.7有關。我有這個錯誤,一旦JDK1.7被JDK1.6所取代,它就解決了 – Hong 2012-03-13 03:51:19

回答

0

嘗試導入項目,而不是應用程序(apk文件)文件偏食,然後嘗試運行它。

4

找到了!我是有這個問題,「蟻族」,並在文件中提到這一警告是因爲:

http://developer.android.com/guide/publishing/app-signing.html#signapp

Caution: As of JDK 7, the default signing algorithim has changed, requiring you to specify the signature and digest algorithims (-sigalg and -digestalg) when you sign an APK.

我有JDK 7,但它可能是同樣的問題。在我的螞蟻的日誌,我用-v爲詳細,它顯示

$ ant -Dadb.device.arg=-d -v release install 
[signjar] Executing 'C:\Program Files\Java\jdk1.7.0_03\bin\jarsigner.exe' with arguments: 
[signjar] '-keystore' 
[signjar] 'C:\cygwin\home\Chloe\pairfinder\release.keystore' 
[signjar] '-signedjar' 
[signjar] 'C:\cygwin\home\Chloe\pairfinder\bin\PairFinder-release-unaligned.apk' 
[signjar] 'C:\cygwin\home\Chloe\pairfinder\bin\PairFinder-release-unsigned.apk' 
[signjar] 'mykey' 
[exec]  pkg: /data/local/tmp/PairFinder-release.apk 
[exec] Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 

我手動簽署的JAR和zipalign處理它,但它給了一個稍微不同的錯誤:

$ "$JAVA_HOME"/bin/jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore release.keystore -signedjar bin/PairFinder-release-unaligned.apk bin/PairFinder-release-unsigned.apk mykey 
$ zipalign -v -f 4 bin/PairFinder-release-unaligned.apk bin/PairFinder-release.apk 
$ adb -d install -r bin/PairFinder-release.apk 
     pkg: /data/local/tmp/PairFinder-release.apk 
Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] 
641 KB/s (52620 bytes in 0.080s) 

我發現這裏回答。

How to deal with INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES without uninstallation

我只需要卸載它,然後它的工作!

$ adb -d uninstall com.kizbit.pairfinder 
Success 
$ adb -d install -r bin/PairFinder-release.apk 
     pkg: /data/local/tmp/PairFinder-release.apk 
Success 
641 KB/s (52620 bytes in 0.080s) 

現在我只需要修改build.xml以在簽名時使用這些選項!