現: 2020-12-26 (土) 15:07:38 yuji ソース
Line 1: Line 1:
 +*apktool [#r6ea002c]
 +Androidのアプリに日本語リソースが入っていない場合,apktoolを使うと日本語リソースだけを追加することが出来る。~
 +apktoolでapkファイルを作成することは出来るんだけど,これは署名がないapkファイルになってしまう。このままだと端末に入れられない。
 +
 +そこで署名された元のapkファイルに日本語が入ったリソースファイルを戻してやることによって,端末に入れられるapkファイルに出来る。
 +
 +**apktoolのインストール [#o68cacaa]
 +[[ここのサイト:http://code.google.com/p/android-apktool/downloads/list]]から,apktool-install-windows-2.2_r01-3.tar.bz2とapktool1.3.2.tar.bz2をダウンロードする。~
 +これらのファイルを適当な場所に解凍する。
 +-apktool.jarのあるディレクトリにCLASSPATHを通します。~
 +-aapt.exe,apktool.batを,Android SDKのtoolsディレクトリか,どこかpathの通っているところに入れる。~
 +--[[7z.exe:http://www.7-zip.org/]]もpathの通っているところに入れておく。~
 +
 +**apkファイルを用意 [#gdd7e350]
 +適当なディレクトリを作って,そこで作業をします。
 +すでにapkをインストールしている場合は,adbコマンドでPCにコピーする。
 + adb pull /system/app/
 + adb pull /system/framework/
 +
 +**apkを解凍 [#s929c7bd]
 +apkファイルはzip形式でアーカイブされているんで,以下のようにして分解する。
 +次のコマンドをタイプしてパッケージを解凍します。
 + adbtool d パッケージ名.apk
 +パッケージ名と同じ名前のフォルダが作成されて,ファイルが分解されて格納される。
 +
 +**共通フレームワークの生成 [#d9765d6d]
 +パッケージを再圧縮するときに,共通フレームワークを使用することになる。~
 +前もって,共通フレームワークを用意しておく。
 + apktool if framework-res.apk
 +
 +**日本語リソースを作成する [#qa595adc]
 +アプリ・ディレクトリのresの中には,valuesとvalues-esとか各言語に翻訳されたリソースが入っているディレクトリある。日本語に対応していればvalues-jaがあるはず。~
 +
 +values-jaディレクトリを新規作成してvaluesフォルダからstrings.xmlと,あればarrays.xmlをコピーして,適当にファイルの中を変更していきます。values/strings.xmlにある項目でvalues-ja/strings.xmlに無い場合は,values/strings.xmlがデフォルトで使用されるようだ。~
 +そのままで良い場合は,行を削除しても問題ない。日本語コードは,UTF8を使用する。
 +
 +**frameworkリソースの変更 [#efce4d12]
 +***framework-resの変更 [#ubc1297f]
 +framework-res/res/values-ja-rJP/arrays.xmlを編集して,「Settings」⇒「Language & keyboard」⇒「Select locale」で日本語の選択が出来るようにする。
 + <?xml version="1.0" encoding="UTF-8"?>
 + <resources>
 + <integer-array name="maps_starting_lat_lng">
 + <item>35666667</item>
 + <item>139750000</item>
 + </integer-array>
 + <integer-array name="maps_starting_zoom">
 + <item>5</item>
 + </integer-array>
 + </resources>
 +
 +***Settings.apkの変更 [#n9e1d07e]
 +Settings/res/values/arrays.xmlを編集して,ロケールの選択画面で「日本語」と表示されるようにする。
 + <string-array name="special_locale_codes_display_names">
 + <item>zh_CN</item>
 + <item>zh_TW</item>
 + <item>ja_JP</item>
 + </string-array>
 + <string-array name="special_locale_display_names">
 + <item>中文(简体)</item>
 + <item>中文(繁體)</item>
 + <item>日本語</item>
 + </string-array>
 +
 +**リソースファイル再構築 [#wbaa5af0]
 +以下のコマンドで,リソースファイルを再構築します。
 + apktool b パッケージ名(拡張子は入力しない)
 +こうすると,パッケージ名\build\apkの中にresources.arscというファイルが生成されます。
 +
 +この後,元のapkファイルのリソースファイルを,作ったリソースファイルに入れ替える。
 + 7z u -tzip -mx=0 パッケージ名.apk パッケージがある場所\パッケージ名\build\apk\resources.arsc
 +で,これが行える。(resources.arscの指定は,フルパスで行う。)
 +
 +**出来たapkファイルに入れ替える [#f74807e0]
 +あとは,出来たapkファイルに入れ替えればOK。
 + adb shell mount -o remount,rw /dev/block/mtbdlock3 /system
 +で/systemを書き換え可能にマウントし直して,
 + adb push xxxx.apk /system/app/xxxx.apk
 + adb shell chmod 644 /system/app/xxxx.apk
 +で入れ替えする。
 +
 +framework-res.apkは上手く作らないと,ブートしなくなっちゃうんで注意しないといけない。
  

  • 携帯電話/HT-03A/Android/apktool のバックアップ差分(No. All)
    • 現: 2020-12-26 (土) 15:07:38 yuji

トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 720, today: 1, yesterday: 0