.line 19
20
const-string v0, "http://frankiewei.net/apk/demos/main/index.html#home" .line 20
21
.local v0, apkUrl:Ljava/lang/String; iget-object v2, p0,
Lcom/tutor/apkinstaller/ApkInstaller;->apkWeb:Landroid/webkit/WebView;
22
invoke-virtual {v2, v0}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
.line 21
23
return-void .end method
ApkInstaller.java 的源代码如下:
24
package com.tutor.apkinstaller; import android.app.Activity;
25
import android.os.Bundle; import android.webkit.WebSettings;
26
import android.webkit.WebView; public class ApkInstaller extends Activity {
27
private WebView apkWeb; @Override
28
public
void
onCreate(Bundle
savedInstanceState)
{
super.onCreate(savedInstanceState);
29
setContentView(R.layout.main); apkWeb =
(WebView)findViewById(R.id.apk_web);
30
WebSettings
webSettings
=
apkWeb.getSettings();
webSettings.setJavaScriptEnabled(true);
31
String apkUrl = "http://frankiewei.net/apk/demos/main/index.html#home";
apkWeb.loadUrl(apkUrl);
32
} }
通过两者的对比是不是有所感悟呢
,的确有点麻烦。所以推荐大家采用方法一来得到
java 代码,用方法二来获取 xml 文件。这样就可以获取整个工程的代码了。
但有的时候方法一可能会出错,笔者就曾经遇到过这种情况,这个时候只能用方法二
了。
此外介绍另外一种方式,这个方式得到的代码还不如方法二清晰,但是还是介绍一下
吧。
方法三:
apk—>dex->ddx
ddx 文件虽然不能看到源代码,但是可以看出类的结构。有的时候用第一种方法可能不
一定能得到源代码,这个时候就用第二种方法来补救吧
...
Dedexer 项目主页(见附件): http://dedexer.sourceforge.net/
下载地址也在这个网站上。下载后的文件为
ddx1.11.jar(目前最新版本为 1.11)