当刚接触android自带的一个模块时,如何去熟悉它?相信不少人第一步都会尝试着去了解其内容的调用流程,而此时若能够单步调试则显得非常重要了,于是有了文章标题所说的尝试。

作者这里要导入的是Settings文件夹,基于android 4.0(MTK6515所用):

1、将Settings整个文件夹拷贝一份备用

2、基于Settings建立一个eclipse工程

打开eclipse,File > New > Project > Android Project > Create project from existing source,选择第1步所拷贝的Settings文件夹。

3、导入部分framework library

执行完第2步会出现很多诸如"com.android.internal.R cannot be resolved"的错误,这主要是由于framework部分资源找不到,这时我们可以手动添加,当然前提是你要用整个工程的代码且已经编译。

在eclipse中右键工程名Settings,选择 Build Path > Configure Build Path > Libraries > Add External JARS,然后选择以下路径的jars:

1)out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/classes.jar

--这个主要是android的框架类

2)out/target/common/obj/JAVA_LIBRARIES/android-common_intermediates/classes.jar

--这个包含com.android.common.Search这个类

3)out/target/common/obj/JAVA_LIBRARIES/core_intermediates/classes.jar

--这个包包含dalvik.system.VMRuntime这个类

4)out/target/common/obj/JAVA_LIBRARIES/mediatek-framework_intermediates/classes.jar

--这个主要是mediatek的框架类

这样基本上就能解决大部分framework资源找不到的问题

  • ps 这里也可将上述classes.jar重命名后复制到某一文件夹后统一导入

4、导入app自身

如这里导入:

out/target/common/obj/APPS/Settings_intermediates/classes.jar

5、去除uid

打开 AndroidManifest.xml,找到 android:sharedUserId并去除之:

android:sharedUserId="android.uid.system"

否则在运行时会提示如下错误:

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

参考资料:

from:http://www.hovercool.com/en/%E5%B0%86packages/apps/%E4%B8%8B%E7%9A%84app%E5%AF%BC%E5%85%A5eclipse#a_1.E3.80.81.E5.B0.86Settings.E6.95.B4.E4.B8.AA.E6.96.87.E4.BB.B6.E5.A4.B9.E6.8B.B7.E8.B4.9D.E4.B8.80.E4.BB.BD.E5.A4.87.E7.94.A8

http://blog.csdn.net/chenzhixin/article/details/6264209

最新文章

  1. Backbone.js 中的Model被Destroy后,不能触发success的一个原因
  2. RocketMQ原理解析-Producer
  3. “(null)” is of a model that is not supported by this version of Xcode. Please use a different device.
  4. Spark在Ubuntu中搭建开发环境
  5. python读取和写入csv文件
  6. Log4net在类库中的用法
  7. 从CSDN转战于此
  8. MVC中的区域
  9. WIN7下关闭驱动数字签名检查的方法
  10. LeetCode 58 Spiral Matrix II
  11. 漫谈linux文件IO
  12. C#算两个时间段相差的时间
  13. 第一部分 linux系统命令
  14. input的一些使用方法
  15. select2 api参数中文文档
  16. canvas原生js写的贪吃蛇
  17. logstash配置文件
  18. css动画库
  19. 调用azkaban接口,upload 本地zip文件
  20. .net推送微信消息模板

热门文章

  1. Web API在OWIN下实现OAuth
  2. composer 学习资料
  3. 解析ABP框架中的事务处理和工作单元,ABP事务处理
  4. input 默认值为灰色,输入时清楚默认值
  5. js 浮点运算出现的精度丢失问题
  6. HBase应用开发回顾与总结系列之二:RowKey行键设计规范
  7. 【转】input输入框中光标高度的变化问题
  8. Java入门(二)——果然断更的都是要受惩罚的。。。
  9. 校园导游系统(C++实现,VC6.0编译,使用EasyX图形库)
  10. 使用ztree.js,受益一生,十分钟学会使用tree树形结构插件