[英]Why does my Android project fail to build after updating my SDK to include v20 and the latest build tools?
[英]Ant fails to build signed apk after updating to android v20
在我將android和eclipse工具升級到v20后,發生了一些奇怪的錯誤
通過Ant構建在創建簽名的apk時停止使用以下錯誤
BUILD FAILED
C:\Programs\Android\tools\ant\build.xml:1097: The following error occurred while executing this line:
C:\Programs\Android\tools\ant\build.xml:1109: Cannot recover key
知道在升級到Android JB組件時可能會有什么變化,怎么能糾正這個?
我感謝任何幫助......
我們遇到了同樣的問題,我們有一個解決方案,但不是真正的解釋!
我們現有的構建在屬性文件中具有以下內容:
但是這已停止工作 - 但是當我們更改key.alias.password以匹配商店密碼時,它正在工作,例如:
別名不知道為什么,也許有人搗亂了螞蟻庫?
我剛剛花了大約5個小時來討論這個話題......密碼之后,這一切都歸結為一個空格。
顯然在以前的版本中它修剪密碼,而在當前版本中它沒有。
因此,確保在行尾沒有空格可能會有所不同。 這解決了我們的問題 - 沒有必要去JDK7(雖然它似乎構建和工作正常,至少從螞蟻)。
小心錯誤消息:
key.store.password
錯誤導致:
密鑰庫被篡改,或密碼不正確:密碼驗證失敗
錯誤的key.alias.password
導致:
無法恢復密鑰
對於通過keytool -v -list mykeystore.keystore
僅檢查store-password並且從不驗證alias.password的人。
在SDK v20之前,我使用bash腳本構建了一個項目,輸入如下密碼:
build_v1.sh
ant release
p@ssw0rd
p@ssw0rd
在v20中它失敗,因為密碼未被接受。 它似乎與行尾字符有關,但我不確定。 要防止構建過程要求輸入密碼,可以將密碼屬性添加到ant.properties文件中:
ant.properties
key.store=company-key.keystore
key.alias=company
key.store.password=p@ssw0rd
key.alias.password=p@ssw0rd
對於我的特定項目,假的密鑰庫密碼保存在ant.properties中,我在構建時使用發布密鑰庫密碼替換它:
build_v2.sh
keyPass=p@ssw0rd
sed -i "s|key.store.password=.*|key.store.password=${keyPass}|g" ant.properties
sed -i "s|key.alias.password=.*|key.alias.password=${keyPass}|g" ant.properties
ant release
這允許我們的發布密鑰庫密碼被隱藏在其他地方。 祝好運!
看起來螞蟻看不到你的調試密鑰。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.