2016-09-11 8 views
0

JavaのSmaliに命令コンバータ

Uri uri = Uri.parse("http://www.google.com"); // missing 'http://' will cause crashed 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 

私は、アプリケーションを変更したいと私は、例えば、WWWのための特定のウェブページを(指すようにAndroidのブラウザを開くには、この機能を追加します。 Google COM)。

Androidスタジオで 'dx'プラグインを使用しようとしましたが、結果はありません。 ありがとうございます!

+0

「実行しても何の結果もありません」ということは、実行しない限り文字通り何も起こりませんでした。間違いましたか?出力はあなたが期待したものではありませんでしたか? – JesusFreke

答えて

2

通常、バイトコード/スマリコードをコピーして、あるメソッド から別のメソッドに貼り付けることはできません。少なくとも、レジスタを修正する必要があります。

javaコードをsmaliにコンパイルするのは良い方法ですが、そのままバイトコードをコピー&ペーストすることはできません。

すでに述べたように、dxを使用してJavaクラスファイルをdexファイルに変換することができます。

javac Blah.java 
dx --dex --output=classes.dex Blah.class 

そして、もちろん、あなたがsmaliコードにそれを分解するclasses.dexにbaksmali実行することができます。

baksmali classes.dex