2015年6月3日 星期三

[Corona SDK] 如何讓您你的APP名稱也支援多國語言 - Android篇

[Corona SDK] 如何讓您你的APP名稱也支援多國語言 - iOS篇裡我們提到如何將iOS APP的名稱顯示成不同的語言,
Android APP的話,要Enterprise版本的Corona SDK才能支援,
不過,我想大部份人可能都只是使用免費版,
那要如何解決呢?

android的apk檔,基本上只是一個壓縮檔,
所以,我們可以稍微動一下手腳,

首先,你要準備二個工具,
一個是apktool,一個是zipalign,
這二個工具在Android SDK裡會有,如果你手上沒有,就自己上網找一下,

我們將build出來的apk檔和所需要的工具都放在同一個目錄以方便操作,
myAndroidApp.apk是要修改的原始apk檔,
為了方便,所以我又造出了幾個bat檔,
我們先來看看各個bat檔的內容
(我是在Windows作業系統操作的)
apktool.bat
if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
set PATH=%CD%;%PATH_BASE%;
java -jar -Duser.language=en "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
unpack.bat
apktool d %1
pack.bat
apktool b %1 -o %2
sign.bat
jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore "my.keystore" %1 yourPassword
zipalign -v 4 %1 zip-%1 
del %1 
ren zip-%1 %1
sign.bat裡的yourPassword記得改成你自己的

1. 在命令視窗裡輸入 unpack "myAndroidApp.apk"
它會將myAndroidApp.apk解壓縮到目錄myAndroidApp
2. 進入myAndroidApp\res\values,如果裡面已有strings.xml,打開它來編輯,
如果沒有,新增一個,將其內容修改如下:
<resources>
    <string name="appTitle">Your Title</string>
</resources>
3. 如果想要增加其它語言,例如繁體中文,
那就在myAndroidApp\res下面新增一個目錄values-zh-rTW
在目錄values-zh-rTW裡面同樣新增strings.xml
內容和上面的一樣,只不過Your Title要改成中文的名稱
4. 要增加幾個語言,步驟3就重複做幾次,只是新增的目錄不同,
例如日文是values-ja,義大利文是values-it等等
5. 回到目錄myAndroidApp下面,打開AndroidManifest.xml
尋找android:label="xxx",將它改成android:label="@string/appTitle",
應該會有二個地方,全部都要改,
另外,國外網站有人說FileContentProvider也要修改,那是不對的,
如果你修改它,程式執行時會得到錯誤訊息
6. 在命令視窗裡輸入 pack myAndroidApp  newApp.apk
7. 在命令視窗裡輸入 sign newApp.apk
完成



沒有留言:

張貼留言