Android源码APK剥离到eclipse调试运行教程
来源:互联网 发布:360n5手机怎么样 知乎 编辑:程序博客网 时间:2024/05/22 04:25
转载请注明出处多谢
废话不多说,简单介绍下流程有问题欢迎提问
1.首先把源码导入eclipse。
例如email,源码目录是package/app/email 这个文件夹拿出来,然后在eclipse中使用 file,import,existing Android code into workspace导入
这样工程导入了eclipse,会有很多错误,莫慌
2.观察Android.mk文件
源码中,app的src同级文件夹都会有Android.mk文件指导编译,打开观察
类似这样的,是需要一些资源文件,这样你就需要在源码找到对应的目录把src 删除,只保留res,然后作为Android library导入即可。
chips_dir := ../../../frameworks/ex/chips/res
unified_email_dir := UnifiedEmail
photo_dir := ../../../frameworks/opt/photoviewer/res ../../../frameworks/opt/photoviewer/appcompat/res
如何把一个工程作为Android library呢,如下,右键工程的property:
然后在需要调试的主工程右键property
这样之后需要的RES资源文件基本就没问题了。
接下来是需要的jar包。需要注意的是jar包中是不包含res 文件的所以需要上面的步骤。
需要导入哪些jar包也是在Android.mk文件:
Android.mk中如下的则是需要导入的jar包
LOCAL_STATIC_JAVA_LIBRARIES := android-common com.android.emailcommon guava
LOCAL_STATIC_JAVA_LIBRARIES += libphotoviewer_appcompat
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-appcompat
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-gridlayout
LOCAL_STATIC_JAVA_LIBRARIES += android-support-v13
LOCAL_STATIC_JAVA_LIBRARIES += android-opt-bitmap
LOCAL_STATIC_JAVA_LIBRARIES += android-opt-datetimepicker
LOCAL_STATIC_JAVA_LIBRARIES += owasp-html-sanitizer
那么这些jar包可以到哪里找到呢,在源码的\out\target\common\obj\JAVA_LIBRARIES这里面找到对应的如android-support-v7-appcompat文件夹,进去的class.jar就是。
注意,源码需要编译过才有out目录
我们可以把他提取出来,重命名为android-support-v7-appcompat.jar
3.关联jar包及遇到问题
依旧右键工程,property 如下选择jar包存放的路径
问题:
把所有jar包都导入后,有可能会运行崩溃。这是因为有的包需要打包到APK里,不光编译时需要这些包,运行时也要。如下打钩,并且顺序也有影响,framework的包一般都要在最上面,包也不能随便打钩,需要具体自己试试。像framework是不需要打钩的。
另外还有可能遇到报错
Multiple dex files define 这种错误如下
这是因为有两个包都有 报错的Landorid/support/annotation/Animres,因此重复了。
可以直接在压缩的情况下打开jar包,看看哪些包有这个报错的文件,直接在压缩的状态下删除重复的包即可。
最后有一些系统APK,剥离出来也需要进行签名才能正常运行,这个要根据每个平台来了。
基本上就是这样,欢迎大家留言讨论,转载请注明出处
- Android源码APK剥离到eclipse调试运行教程
- Android从apk到运行
- apktool + eclipse 动态调试无源码apk
- Android无源码调试APK(使用ApkTool和Eclipse ADT)
- Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)
- Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)
- Android无源码调试APK(使用ApkTool和Eclipse ADT)
- Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)
- Android逆向之旅—动态方式破解apk前奏篇(Eclipse动态调试smail源码)
- Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)
- Android无源码调试APK(使用ApkTool和Eclipse ADT)
- Android动态方式破解apk前奏篇(Eclipse动态调试smail源码)
- Android逆向之旅---动态方式破解apk前奏篇(Eclipse动态调试smail源码)
- [Android] smalidea 无源码调试 apk
- [Android]反编译apk + eclipse中调试smali
- [Android]反编译apk + eclipse中调试smali
- [Android]反编译apk + eclipse中调试smali
- [Android]反编译apk + eclipse中调试smali
- RxAndroid Rxjava学习笔记
- BZOJ-1588 营业额统计 Treap裸题
- Android Paint的简单实用
- ubuntu上第一个shell脚本
- 多线程笔记
- Android源码APK剥离到eclipse调试运行教程
- Preference相关学习
- 互联网行业岗位职责
- 浅谈.net remoting 与 webservice
- openwrt上移植NFS服务器
- nginx进程模型
- 浅析Java中的final关键字
- 反向投影误差的计算
- 面---经2