答えはすでに時代遅れであるか、完全ではありません。これは、保護されていない apk (Proguard なし) で機能する可能性がありますが、現在、保護されていない apk をデプロイする人はいません。(私の)十分に保護されたapk(Proguard、「ハッキングツール」をチェックするセキュリティチェック、アプリがデバッグモードで再パッケージ化されているかどうかをチェックするセキュリティチェックなど)を変更する方法は、apktoolを介してここで他の人によってすでに言及されています。しかし、アプリに再度署名する必要があるとは誰も説明しませんでした。
apktool d app.apk
//generates a folder with smali bytecode files.
//Do something with it.
apktool b [folder name] -o modified.apk
//generates the modified apk.
//and then
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore ~/.android/debug.keystore modified.apk androiddebugkey
//signs the app the the debug key (the password is android)
//this apk can be installed on a device.
私のテストでは、元のリリースの apk にはログがありませんでした。apktool で逆コンパイルした後、ログなしのフルバイト コード ファイルとログありのフル バイト コード ファイルを交換し、再コンパイルして署名し、デバイスにインストールすることができました。その後、アプリを Android Studio に接続すると、Android Studio でログを確認できました。
私の意見では、 and を使用して逆コンパイルdex2jar
するJD-GUI
ことは、クラスが何をしているかをよりよく理解するのに役立つだけです。しかし、すべてが保護されているため、この中途半端な Java コードを動作する apk に再コンパイルできるかどうかはわかりません。もしそうなら、私に知らせてください。この例で述べたように、バイトコード自体を操作するしか方法はないと思います。