首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Eclipse 匯出簽名 APK 遇到 Lint 錯誤與 Keystore 逗號問題解決

     編輯:更多程式設計知識

使用 Eclipse ADT 匯出簽名版 APK 時,常遇到兩大阻礙:Lint 缺少翻譯報錯、Keystore 憑證資訊含逗號導致 keytool 失敗。

問題一:Lint 檢查缺少多國語言翻譯

錯誤訊息:MissingTranslation: "app_name" is not translated in af, am, ar, bg, bn-rBD, ca, cs, da, de...
原因:專案依賴 appcompat_v7 內含大量語系字串,導出時預設啟用完整 Lint 錯誤檢查。
解決:

  1. Window → Preferences → Android → Lint Error Checking。
  2. 找到 MissingTranslation,將 Severity 從 Fatal 改為 Warning 或 Ignore。
  3. 重新導出即可通過。

或在專案 lint.xml 針對特定字串抑制警告,保持嚴格檢查同時避免誤報。

問題二:Keystore 憑證資訊含逗號

錯誤訊息:keytool error: java.io.IOException: Incorrect AVA format
原因:keytool 視逗號、加號、引號、斜線、大小於號、分號為特殊字元。慣例填寫 City: "Taipei, Taiwan" 會導致解析失敗。
解決:

  • 移除逗號:Taipei Taiwan。
  • 或使用跳脫字元:Taipei\, Taiwan(僅限命令列 keytool,Eclipse GUI 不支援)。

其他特殊字元同理需跳脫或避免使用。

替代方案:命令列簽名

keytool -genkeypair -alias mykey -keystore my.keystore \
  -dname "CN=MyApp, OU=Dev, O=MyCompany, L=Taipei\, Taiwan, ST=Taiwan, C=TW"
jarsigner -keystore my.keystore -signedjar app_signed.apk app_unsigned.apk mykey
zipalign -v 4 app_signed.apk app_aligned.apk

命令列 keytool 支援跳脫逗號,彈性較高。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved