2012/11/30

Recoveryオプション組み込んでみる

自己満足の世界・・・更なる高みへ




NeoにUltimate HD™を焼いて、悲しかったのは再起動オプションとかが無かったこと
再起動だけはその日のうちになんとか組み込み

で、数日が経ちRecoveryオプションも組み込んでみようと

組み込むのは再起動と同じで
framework-res.apk
framework.jar
android.policy.jar
の3つ

【framework-res.apk】
1)apktoolとかで解体
2)framework-res.apk/res/drawable-hdpiにic_lock_recovery.png追加
3)framework-res.apk/res/values/string.xmlを開く
4)最後に文字列追加

5)framework-res.apk/res/values-ja/string.xmlを開く
6)最後に文字列追加

7)framework-res.apk/res/values/public.xmlを開く
8)リソースID追加

※必ずしも同じIDが空いてるとは限らない
  空きIDを必死に探すしかない
9)レッツコンパイル

【framework.jar】
1)baksmali.jarとかで解体

2)framework/com/android/internal/app/ShutdownThread.smaliを開く
3)たくさん書き込む





4)smali.jarとかでレッツコンパイル

5)classes.dexをframework.jarに入れる

【android.policy.jar】
1)baksmali.jarとかで解体

2)android.policy/com/android/internal/policy/impl/GlobalActions.smaliを開く
3)書き込む

4)android.policy/com/android/internal/policy/impl/GlobalActions$2.smaliをコピーして貼り付け
   android.policy/com/android/internal/policy/impl/GlobalActions$7.smaliにリネームして開く
5)書き換えと書き込み
GlobalActions$2をGlobalActions$7に書き換え

6)android.policy/com/android/internal/policy/impl/GlobalActions$7.smaliをコピーして貼り付け
   android.policy/com/android/internal/policy/impl/GlobalActions$8.smaliにリネームして開く
GlobalActions$7をGlobalActions$8に書き換え

7)smali.jarとかでコンパイル

8)classes.dexをandroid.policy.jarに入れる

8)俗に言う「俺zip」作って焼く
  これも一応

で、こうなってるはず




















この後はRecoveryタップしてからのお楽しみ
きっとポチポチしなくても起動する・・・・・・はず

3 件のコメント:

  1. ますのすけ2012年12月3日 22:57

    毎度お世話様です。SO-03D ICS(Rooted)に再起動オプションをどうにか追加できないかと奮闘していますが、
    framework-res.apkのIDの指定がうまくいってないのかコンパイルでエラー吐いてます…。
    具体的に空きIDの探し方はどうすればいいですか?

    返信削除
  2. ますのすけさん
    >framework-res.apkのIDの指定がうまくいってないのかコンパイルでエラー吐いてます…。
    どんなエラーかLogに残ってるんじゃないですかね?
    >具体的に空きIDの探し方はどうすればいいですか?
    空きID簡単検索・・・知りません・・・逆に教えて頂きたい・・・
    いつも地道に探してます

    返信削除
  3. 地道にIDを探し幾多のエラーを乗り越えなんとか再起動オプションの追加に成功しました。
    まさかframwork-res-apkのIDとjarのIDが一桁違うとは…。
    最初は再起動だけでしたけど、せっかくだからこのRecoveryも追加しました。
    ななしさんの過去ログを参考にさせてもらいました。ありがとうございました。

    返信削除