最終更新: bokkuri_orz 2012年07月02日(月) 02:23:05履歴
- 上記サイトからダウンロードした Cygwin.zip を解凍。
- cygwin.exeを実行。
- Choose A Download Source : install Local Directoryを選択
- Select Root Install Directory : cygwinインストール先を選択
- Select Local Pacage Directory : インストールするパッケージフォルダ(解凍してできた、cygwin.exeがあるフォルダ(cygwin_packages)を選択)
- Select Packages : Allの横のアイコンをクリックして、全て "Install" にする。
取得方法。
su tar -c system/* >> sdcard/system.tar
取得したSystemファイルには不要なファイルがいくつかあって、それらを削除して最終的には以下の構成でOK。
/app /bin /etc /fonts /framework /lib /media /semc /usr /xbin build.prop
※"Only For GB ROM" って書かれていたので、GB ROM(調べてないので分かりません)のみの作業らしい。
tftファイルから system.sin を取り出して、
alUP.exe system.sin 2048 systemで、systemフォルダへ解凍
作業フォルダに必要なファイルを置いて作業します。
デフォルトの作業フォルダ
(cygwinインストールフォルダ)\home\(ユーザー名)\kitchen\WORKING_XperiaNeroROMここには、
- systemフォルダまるごと (前のステップで取り出した system)
- META-INFフォルダまるごと (META-INF.rarから解凍)
- boot.img (どこかから持ってくる?)
1ページ目
1 - Set up working folder from ROM 2 - Add root permissions 3 - Add BusyBox 4 - Disable boot screen sounds 5 - Add wireless tethering 6 - Zipalign all *.apk files to optimize RAM usage 7 - Change wipe status of ROM 8 - Change name of ROM 9 - Check update-script for errors 10 - Show working folder information 0 - ADVANCED OPTIONS 99 - Build ROM from working folder u - Update/About kitchen x - Exit
2ページ目
11 - Deodex files in your ROM 12 - Add task killer tweak for speed (stock ROM only) 13 - Add /data/app functionality 14 - Add Nano text editor + sysro/sysrw 15 - Add Bash (command shell) 16 - Add Apps2SD 17 - Add /etc/init.d scripts support (busybox run-parts) 18 - Add custom boot animation functionality 19 - Porting tools (experimental) 20 - Tools for boot image (unpack/re-pack/etc.) 21 - Unpack data.img 22 - Sign APK or ZIP file(s) 23 - Convert update-script or updater-script 24 - Miscellaneous options / Plugin scripts 99 - Build ROM from working folder 0 - BACK TO MAIN MENU
"0"を指定すると、ページを切り替えます。
1 | |
2 | Superuser.apkを追加 |
3 | busyboxを追加 |
4 | |
5 | |
6 | |
7 | |
8 | ROMの名前を変更 |
9 | |
10 | 作業フォルダ以下にあるROMファイルの情報を表示する。 |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | アップデータスクリプトの変換。Amend ⇔ Edify Edifyにすると、メニュー"10"で情報の表示が出来なくなるっぽい |
24 | |
99 | ROMファイルを作成。OUTPUT_ZIPフォルダに作成されます。 |
上記メニューを使って、必要な機能を追加、編集して、"99" でROMのzipファイルを作成します。
Donut(1.6)以降のバージョンのAndroidで使われているアップデータスクリプト。
詳細はこちら
http://d.hatena.ne.jp/urandroid/20110617/130855671...
kitchenメニュー"23"で作成されるスクリプトは、
/(cygwin)/home/(user)/kitchen/WORKING_XperiaNeroROM/META-INF/com/google/android/updater-script
apktool if framework-res.apk : ローカルPCにリソースをインストール apktool d systemUI.apk : デコンパイル(decompile) apktool b systemUI : 再コンパイル。再パッケージ化。
作業フォルダ kitchen/WORKING_XperiaNeroROM 以下のファイルに対して編集の例になります。
1. /system/framework/framework-res.apk, SemcGenericUxpRes.apk をAPKToolフォルダへコピー。
apktool if framework-res.apk apktool if SemcGenericUxpRes.apk※ここでインストールしたリソースファイルは、以降のdecompile作業で参照される。
2. 編集したい *.apk をAPKToolフォルダへコピー。
apktool d *.apkでDecompile。
3. リソースファイル等の置き換え。
4. 再コンパイル。
apktool b (Decompileで作成されたフォルダ)
5. (*.apk)/build/apk/
へ、元のapkの AndroidManifest.xml, META-INF を上書きコピー。
(*.apkの拡張子を zip に変更すると、上記ファイルが取り出せる。)
6. もう一度再コンパイル。
apktool b (Decompileで作成されたフォルダ)
7. (*.apk)/dist/ に apkが作成される。
8. 作成したapkをkitchenの作業フォルダの該当ファイルに上書き。
services.jar を例に説明します。
1. jarファイルを解凍ソフトなどで開くと、classes.dex ファイルを取り出して、APKToolフォルダへ配置。
2. コマンドラインから、
java -jar baksmali.jar -o classout/ classes.dexclassoutフォルダに解凍されます。
3. 解凍したファイルを編集。
ただ、この段階ではアセンブラ的なソースです。
4. コマンドラインから、
java -Xmx512M -jar smali.jar classout/ -o new-classes.dexで、再パッケージ化。
new-classes.dexというファイルが出来ます。
5. new-classes.dex → classes.dex に変更して、元のjarファイル内に上書きコピーします。
タグ
最新コメント