今日、Android ソースでいくつかの実験を行っていました。
完全なことを教えてください.androidソースからframework.jarをコンパイルして逆コンパイルし、smaliソースを生成して脇に置いておきました。次に、CyanogenMod リポジトリから、機能のコミットを Android ソースに追加し、framework.jar をコンパイルして、smali ソースを何度も逆コンパイルして、smali に関する変更を確認し、ROM に移植できるようにしました。
私が移植しようとしている機能には、特定のクラスのインポートが必要です。たとえば、 import dalvik.system.VMRuntime と、それらのインポートされたクラスを利用するための追加のコーディングが必要です。だから今私の問題は、余分なコーディング、つまりsmaliコードでのそれらのクラスの使用しか見ることができず、それらのインポートを見ることができないということです。したがって、smali コードのみを移植すると、そのメソッドが見つからないことを示す java.lang.NoSuchMethodError が logcat に表示されます。必要なクラスがインポートされていないため、その理由は明らかです。次に、smali コードでそれを行う方法は? smali でそれを行う方法が見当たりません。そのため、新しく導入された方法が機能しません。
これに対する実行可能な解決策はありますか?