備忘録として
framework-res.apk
systemui.apk
これらのデコンパイルに使用するapktoolのVerは、次となる
デコンパイル:apktool_1.4.2.jar
リコンパイル:apktool_1.4.3.jar
また、HTCの場合、以下のapkもインストールする必要がある
framework-res.apk、com.htc.resources.apk
インストールの仕方は、
apktool if xxxx.apk
デコンパイルはうまくいくはず。
コンパイルで、以下のエラーがでるはず。
[*] C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res
recompiling C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res...
W: Could not find sources
I: Building resources...
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\anims.xml:3: error: Found tag anim where item is expected
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\layouts.xml:3: error: Found tag layout where item is expected
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\raws.xml:3: error: Found tag raw where item is expected
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:6932: error: Public symbol layout/htc_list_item_2text_2stamp declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:6933: error: Public symbol layout/htc_list_item_2text_bright declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:6934: error: Public symbol layout/htc_list_item_image_2text_image_bright declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:6935: error: Public symbol layout/htc_list_item_imageicon_2text_2stamp declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:6936: error: Public symbol layout/htc_list_item_imageicon_text declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:6937: error: Public symbol layout/htc_list_item_separator declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:6938: error: Public symbol layout/keyguard_screen_device_unlock declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:6939: error: Public symbol layout/pin_keyboard declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:7029: error: Public symbol anim/htc_ime_decelerate_interpolator declared here is not defined.
C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res\values\public.xml:7140: error: Public symbol raw/fallbackring_htc declared here is not defined.
Exception in thread "main" brut.androlib.AndrolibException: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\kihiro\AppData\Local\Temp\APKTOOL4717619271723005516.tmp, -x, -S, C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res, -M, C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\AndroidManifest.xml]
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:193)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:301)
at brut.androlib.Androlib.buildResources(Androlib.java:248)
at brut.androlib.Androlib.build(Androlib.java:171)
at brut.androlib.Androlib.build(Androlib.java:154)
at brut.apktool.Main.cmdBuild(Main.java:182)
at brut.apktool.Main.main(Main.java:67)
Caused by: brut.common.BrutException: could not exec command: [aapt, p, -F, C:\Users\kihiro\AppData\Local\Temp\APKTOOL4717619271723005516.tmp, -x, -S, C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\res, -M, C:\Android\apktool\AutoAPKTool2.0.4\_INPUT_APK\framework-res\AndroidManifest.xml]
at brut.util.OS.exec(OS.java:83)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.java:191)
... 6 more
これは、以下のように修正する。
go to res/values anims.xml
change this
<anim name="htc_ime_decelerate_interpolator">@anim/zzz_htc_ime_decelerate_interpolator</anim>
to this
<item type="anim" name="htc_ime_decelerate_interpolator">@anim/zzz_htc_ime_decelerate_interpolator</item>
go to res/values layout.xml
change this
<layout name="htc_list_item_2text_2stamp">@layout/zzzz_htc_list_item_2text_2stamp</layout>
<layout name="htc_list_item_2text_bright">@layout/zzzz_htc_list_item_2text_bright</layout>
<layout name="htc_list_item_image_2text_image_bright">@layout/zzzz_htc_list_item_image_2text_image_bright</layout>
<layout name="htc_list_item_imageicon_2text_2stamp">@layout/zzzz_htc_list_item_imageicon_2text_2stamp</layout>
<layout name="htc_list_item_imageicon_text">@layout/zzzz_htc_list_item_imageicon_text</layout>
<layout name="htc_list_item_separator">@layout/zzzz_htc_list_item_separator</layout>
<layout name="keyguard_screen_device_unlock">@layout/zzzz_keyguard_screen_device_unlock</layout>
<layout name="pin_keyboard">@layout/zzzz_pin_keyboard</layout>
to this
<item type="layout" name="htc_list_item_2text_2stamp">@layout/zzzz_htc_list_item_2text_2stamp</item>
<item type="layout" name="htc_list_item_2text_bright">@layout/zzzz_htc_list_item_2text_bright</item>
<item type="layout" name="htc_list_item_image_2text_image_bright">@layout/zzzz_htc_list_item_image_2text_image_bright</item>
<item type="layout" name="htc_list_item_imageicon_2text_2stamp">@layout/zzzz_htc_list_item_imageicon_2text_2stamp</item>
<item type="layout" name="htc_list_item_imageicon_text">@layout/zzzz_htc_list_item_imageicon_text</item>
<item type="layout" name="htc_list_item_separator">@layout/zzzz_htc_list_item_separator</item>
<item type="layout" name="keyguard_screen_device_unlock">@layout/zzzz_keyguard_screen_device_unlock</item>
<item type="layout" name="pin_keyboard">@layout/zzzz_pin_keyboard</item>
go to res/values plurals.xml
go to line 79
change this
%d of %d
to this
%1$d of %2$d
go to res/values raws.xml
change this
<raw name="fallbackring_htc">@raw/zzzz_fallbackring_htc</raw>
to this
<item type="raw" name="fallbackring_htc">@raw/zzzz_fallbackring_htc</item>