2013-05-21 23 views
7

我想上傳的谷歌應用程序Play商店。我正在構建.apk並使用Maven對其進行簽名。我使用maven-jarsigner-plugin來簽署.apk文件。我正在使用我使用Eclipse嚮導創建的密鑰來簽署另一個Android應用程序。我使用以下命令zipalign .apk文件: zipalign [-f] [-v] infile.apk outfile.apk您上傳的是在調試模式下籤署APK。您需要登錄您的APK在發佈模式錯誤

當我嘗試上載應用程序時,我上傳了一個APK這是在調試模式下籤署的。您需要在發佈模式下籤署APK。任何人都可以請告訴我如何在發佈模式下籤署apk?我是Maven新手(今天開始使用它)。 感謝

+0

看看是否答案[這裏](http://stackoverflow.com/questions/15055961/android-maven-plugin-disable-debug-build-for-apk/15056758#15056758)有幫助。 – yorkw

回答

2

我不知道你是怎麼做到這一點的Maven的,但你需要有釋放密鑰庫來編譯你的應用程序。您可以創建一個與keytool,這是你的Java bin文件夾可供選擇:

$ keytool -genkey -v -keystore my-release-key.keystore 
-alias alias_name -keyalg RSA -keysize 2048 -validity 10000 

在創建它,你必須提供兩個密碼,一個密鑰庫和一個用於關鍵。創建密鑰庫時,可以使用Eclipse導出嚮導在發佈模式下編譯您的應用程序。

有關詳細信息,請參閱http://developer.android.com/tools/publishing/app-signing.html#releasemode

+0

的問題是,我不想使用Eclipse編譯應用程序。我嘗試過,並沒有任何問題能夠做到這一點。我需要它使用Maven, – Nemin

+0

這是正確的解釋,只是使用這個生成的密鑰庫Maven的編譯! – thiagolr

-1

使用-genkeypair代替-genkey解決了這個問題對我來說。

所以:密鑰工具-genkeypair -keystore name.keystore -alias nameapp -keyalg RSA

0

始終創建包含名稱和別名密鑰庫 「釋放」 而不是 「調試」。如果你擁有的是「您上傳的是在調試模式下籤署APK。您需要登錄您的APK在發佈模式錯誤」這是肯定的是,你正在使用默認密鑰庫是「debug.keystore」因此產生的調試模式APK。

解決方案

  1. 生成新的密鑰存儲
  2. 給於的build.gradle文件引用
  3. 更改構建變量爲 '釋放'
  4. 構建

這樣就可以解決問題。

相關問題