2016/12/27
署名済みの apk から署名を削除する方法
Debug Keystore で署名済みの apk が送られてきちゃった。みたいな事は時々あると思うのですが、そういう時は署名を削除して再署名すれば良いのです。 ### apk の署名とは apk の署名は以下の 3つのファイルで構成されています。 そのため、これらのファイルを削除すれば、未署名の apk になります。 - META-INF/MANIFEST.MF - META-INF/CERT.RSA - META-INF/CERT.SF 注: CERT.RSA と CERT.SF は別の名前(ANDROID.RSA 等)になっている場合があります。 > 参考 > - [APK ファイルの署名の仕様 - urandroid](http://d.hatena.ne.jp/urandroid/20110818/1313656536) ### 署名を削除する コマンドラインだと以下のようにすると良いでしょう。 ```console $ zip -d app-debug.apk "META-INF/*" deleting: META-INF/CERT.RSA deleting: META-INF/CERT.SF deleting: META-INF/MANIFEST.MF ``` この方法だと `META-INF` ディレクトリ自体を削除してしまうのですが、apk の場合 `META-INF` にこれ以外のファイルが入ることは無さそうなので 、これで大丈夫だと思われます。 以下のように `apksigner verify` をするとエラーが出ます。 ```console $ apksigner verify app-debug.apk DOES NOT VERIFY ERROR: Missing META-INF/MANIFEST.MF ``` > 参考 > - [apksigner | Android Studio](https://developer.android.com/studio/command-line/apksigner.html) ### 再署名する 未署名の apk に後から署名する方法がそのまま使えます。 `zipalign` を忘れないようにしましょう。 [未署名の apk に後から署名する方法 | 穀風](https://kokufu.blogspot.jp/2016/12/apk.html)
0 件のコメント:
コメントを投稿