apktoolでアプリのパッケージ名を変更する

2011年9月28日 by
カテゴリ: Android, 電話 

たとえば、「com.noshufou.android.su」というパッケージ名のアプリがあったとします。

何かこのパッケージ名では都合が悪い事象が発生した場合にちょっと名前を変えたいなーでもソースがないから変更できないなーというお思いの諸兄!

なんとかして apk ファイルを取得して、なんとかして apktool d Superuser.apk してばらせたと仮定します。

新しいバージョンだと新しい framework-res.apk が必要になるかもしれません。Android 3.2とか?

そんで、手段は問いませんがばらしたディレクトリ内すべての*.smaliと*.xmlの「com.noshufou」を「c0m.noshufou」に置換、「com/noshufou」を「c0m/noshufou」に置換します。まあ名前はどうでもいいんですが諸事情により文字数は変わらないほうが良いと思います。

個人的には YokkaSoft さんの NoEditor に付属の YokkaGrep を使ってますけど、使いやすい方法でいいと思います。

image

合わせて smali ディレクトリ内の「com」ディレクトリを「c0m」にリネームします。

その後 apktool b Superuser でビルドして dist ディレクトリ内にできた apk ファイルを適宜署名すれば完成です。

簡単でしょ?

もし別途「su」なんてファイルが必要だった場合にはバイナリエディタで開いて「com.noshufou」をすべて「c0m.noshufou」に置換する必要があります。

個人的には c.mos さんの Bz を以下略。右下の文字コードを ASCII にして検索するのがポイントですよ?

image

よほど特殊な状況でなければアプリのパッケージ名を変える必要はないと思いますが、どうしても新旧バージョンを共存させたいとか?au o以下略

コメント

1 件のコメント on apktoolでアプリのパッケージ名を変更する

  1. 美吉
    2011年10月2日 11:30 PM
  2. こんにちは。
    最近ソフトバンクの001HTを使い出した美吉と申します。

    パッケージ名を変更してソフトバンクメールアプリを新旧インストールしておきたいと思って、旧バージョンのほうを(jp.softbank.mb.mail-1.6.apk)
    ここの記事のように.xmlとかを編集したのですが、インストールしてみても、エラーで起動できませんでした。
    なんとか、バージョン違いで二つインストールしたいのですが、アドバイスいただけないでしょうか?
    一応、編集しようとしたファイルはこちらにあります。
    http://www.megaupload.com/?d=6ETQCFJY
    よろしくお願いいたします。