package cn.itcast.packageinstaller;
import java.io.File;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
public class DemoActivity extends Activity {
private EditText et_path;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et_path = (EditText) this.findViewById(R.id.et_path);
}
public void install(View view){
String path = et_path.getText().toString().trim();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
// intent.setData(Uri.fromFile(new File(path)));
//这两个冲突
// intent.setType("application/vnd.android.package-archive");
intent.setDataAndType(Uri.fromFile(new File(path)), "application/vnd.android.package-archive");
startActivity(intent);
}
}
<pre class="html" name="code">1 . http://code.google.com/p/android-apktool/ 下载
apktool 可以把应用程序的资源都获取出来
res 目录下的xml文件
apktool1.4.1.tar.bz2 反编译工具的jar包
apktool-install-windows-r04-brut1.tar.bz2 windows下调用执行jar 的exe文件
拷贝apktool的jar包到 \apktool-install-windows-r04-brut1
流程:把wangyi.apk文件拷贝到apktool目录下-----》cd /d到当前目录。-----》apktool----》apktool d wangyi.apk
----->>获取到布局和清单文件,图标文件里里面的东西。
2. dex2jar
可以把class.dex文件转换成 java的.class文件
流程:先解压apk文件得到class.dex------》放到dex2jar包中----->cd /d到当前目录----》dex2jar classes.dex
得到classes_dex2jar.jar问件。
dex2jar可以吧
class.dex ->classes_dex2jar.jar
3. jd-gui.exe 把.class转化成 java的源代码