怎样把反编译的apk文件在eclipse中打开?

对,这两部分我都弄了,它是一个完整的工程,我想导入eclipse中,并且在Android的模拟器中打开。但是它无法导入。好似是翻遍出来的文件少了写东西。。... 对 , 这两部分我都弄了,它是一个完整的工程,我想导入eclipse中,并且在Android的模拟器中打开。但是它无法导入。好似是翻遍出来的文件少了写东西。。 展开
 我来答
melord
2011-07-22 · TA获得超过367个赞
知道小有建树答主
回答量:270
采纳率:0%
帮助的人:232万
展开全部
那要看你反编译的程度了。apk反编译有两部分,一部分是res等xml资源文件。用android 的apktool就可以了。这些xml文件都可以在eclipse中直接打开。
dex文件(源代码)需要使用dex2jar工具转化成jar文件。jar文件可以在eclipse查看其结构。对.class文件,eclipse可以查看方法,内部类等信息。
如果对Jar也进行了反编译,那么得到的就是Java文件。在eclipse中,可以像你new 的class一样查看。
回味经典仔
推荐于2018-04-11 · 知道合伙人教育行家
回味经典仔
知道合伙人教育行家
采纳数:979 获赞数:31056
从事技术开发、生产技术管理等方面工作的工程技术文件攒写,总结,编写可行的方案,解决生产客户的问题

向TA提问 私信TA
展开全部
反编译apk + eclipse中调试smali
1.对apk使用apktool反编译出可调试的smali代码到out文件夹
apktool -d d 定点加粉丝_com.mingniu.wxddjfs_440.apk -o out
这里必须使用-d参数,这样反编译出来的代码后缀均是java,因为只有java文件才能被eclipse/netbeans识别调试

2.设置调试标记和寻找主类
在输出的out文件夹中,用文本编辑工具打开AndroidManifest.xml,在application节点中设置属性android:debuggable="true"。
继续在AndroidManifest.xml中,搜索以下关键字
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
找到含有以上信息的activity节点,记录其android:name属性的值,该值则为其应用的主类。如下面的例子,主类为 .ui.HomeActivity

<activity android:label="@string/app_name" android:name=".ui.HomeActivity" android:screenOrientation="portrait" android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
3.在主类的onCreate事件中添加调试等待。
grep -rn "HomeActivity" * 找到主类文件,
用文本编辑工具打开主类文件,找到onCreate方法,在第一句前插入invoke-static {}, Landroid/os/Debug;->waitForDebugger()V,记得添加a=0;//的前缀保持上下一致,结果如下:
a=0;// # virtual methods
a=0;// .method protected onCreate(Landroid/os/Bundle;)V
a=0;// invoke-static {}, Landroid/os/Debug;->waitForDebugger()V
a=0;//
a=0;// .locals 1
a=0;// .param p1, "savedInstanceState" # Landroid/os/Bundle;
a=0;//
a=0;// .prologue
a=0;// .line 11
a=0;// invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

4.保存文件,用apktool重新编译打包为debug.apk
apktool b -d out -o debug.apk
5.对debug.apk签名(需要下载签名工具),我把签名工具放在了signapk文件夹下,生成debug.sign.apk
java -jar ./signapk/signapk.jar ./signapk/testkey.x509.pem ./signapk/testkey.pk8 ./debug.apk ./debug.sign.apk
6.上传debug.sign.apk至手机或模拟器,然后安装并运行。这时你会看到程序运行后停留在白屏界面,这时不要动设备和退出程序,因为程序现在是运行到刚才添加的waitForDebugger代码这里,这行代码的意思是一直挂起中,等待调试器。
adb install debug.sign.apk
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式