少し前に、いくつかのスニペットを理解するために、apktool を使用してアプリケーションを逆コンパイルしていました。興味深いのは、アプリケーションが難読化されていたことです。実際、このアプリは、「class.forName」や「class.getMethod」などのメソッドでいっぱいの「Protection.class」というクラスを 1 つだけ提示していました。
Googleで検索すると、これはもちろんリフレクション構造ですが、いくつかのチュートリアルを見て、リフレクションによって呼び出されるクラスがアプリケーションパッケージに含まれている必要があることを理解しました。私の場合、「保護」以外のクラスはありません。
結論として、私の質問は次のとおりです。パッケージからクラスを完全に削除し、それでも何らかの方法でそれらのメソッドを使用することは可能ですか? それらはapkフォルダーのどこに保存されていますか(ある場合)? コードを難読化するため、または (この場合のように) パッケージからクラスを非表示にするために、apk 構築プロセスと対話する方法はありますか?
注: Proguard では実行できません。過去にテスト済みです。