2015年12月14日 星期一

避免 Android Studio 輸出 APK 時出現 [MissingTranslation] 的問題

最近在用 Android Studio 輸出 Signed APK 時遇到了以下錯誤:
Error: "xxx" is not translated in ... [MissingTranslation]

原因是 Lint 檢查到某些字串沒有被翻譯所導致。但有些字串就是不需、不想或懶得翻譯時該怎麼辦呢?

方法有以下幾種:
1.對不需翻譯的字串加上 translatable="false"
<string name="xxx" translatable="false">"XXX"</string>
2.在 strings.xml 的 resources 加上以下屬性
<resources 
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="MissingTranslation" >
3.在 app/build.gradle 中加上以下設定
android {
    ...
    lintOptions {
        disable 'MissingTranslation'
    }
    ...
}

android {
    ...
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
    ...
}

參考資料:
http://blog.csdn.net/KjunChen/article/details/50043487

2014年3月13日 星期四

升級 SDK Tools & ADT 22.6 後 ProGuard 錯誤的問題

升級 SDK Tools & ADT 22.6 後,從 Eclipse 輸出 Signed APK 可能出現以下錯誤:
Error: Unable to access jarfile ..\lib\proguard.jar

看起來是路徑有問題找不到 proguard.jar,解決方法如下:
到 SDK 中修改 proguard.bat 檔內容,proguard.bat 檔的位置如下:
yourSDK\tools\proguard\bin\proguard.bat

將 proguard.bat 裡面的這行
java -jar "%PROGUARD_HOME%"\lib\proguard.jar %*
修改成 proguard.jar 的絕對路徑 (SDK 路徑請依您安裝而定)
java -jar C:\yourSDK\tools\proguard\lib\proguard.jar %*
改好後再嘗試輸出 Signed APK 應該就會正常了~

參考資料:
https://code.google.com/p/android/issues/detail?id=66733

2013年9月19日 星期四

升級 SDK Tools & ADT 22.2 後無法創建新專案的解法

#此問題已經在 22.2.1 版被修正,請直接用SDK Manager更新即可。

又來了~
前幾天有升級 SDK Tools & ADT 到 22.2 的開發者,應該會發現怎麼無法建立新專案了?
當建立新專案到最後一步時,會出現下面這個畫面:


Unsupported template dependency: Upgrade your Android Eclipse plugin

This template depends on the Android Support library which is either not installed or the template depends on a more recent version than the one you have installed.
Required version:
Installed version: 18

真是令人摸不著頭緒,不是才剛更新的嗎...
而且不管按 Install/Upgrade 或 Check Again 都沒效

查了一下,又有人包了。
https://code.google.com/p/android/issues/detail?id=60149#c55
不過他也提供了解決方案,只要用上面連結中#55樓提供的 activities.zip 壓縮檔,解開後置換掉 sdk/tools/templates/activities 目錄就可以了!