当刚接触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

将packages/apps/下的app导入eclipse的更多相关文章

  1. Android Settings 导入eclipse

    1.加载源码 Android Project from Existing Code 选择源码工程Settings: 2.加载所需要的jar包 (改下名字) out/target/common/obj/ ...

  2. 将struts源码导入eclipse

    预制条件和spring源码导入eclipse中一样,下面直接给出导入eclipse的步骤. 步骤: 1. 下载struts相应版本的源码 http://struts.apache.org/downlo ...

  3. MyEclipse web项目导入Eclipse,详细说明

    最近导入一个MyEclipse的项目,具体是:spring4.1的web项目,同时遇到了一些问题,总结一下. 1.进入项目目录,找到.project文件,打开.增加一个<buildCommand ...

  4. Android Studio 2.2.2导入Eclipse中创建的项目

    最近随视频教程学习Android,原本都是用Adt写Android程序,中途教程换成了Android Studio,于是我自己下了android studio 2.2.2安装好,并下载好sdk,也跟着 ...

  5. Android Studio导入Eclipse项目和一些常见的问题

    Android Studio版本 Eclipse项目工程:一个主工程,一个Emojicon依赖库. 有两种方式导入Eclipse工程: 1.兼容Eclipse 2.全新的Android Gradle ...

  6. Android 源代码自动编译packages/apps

    /*************************************************************************** * Android 源代码自动编译packag ...

  7. [置顶] 我的Android进阶之旅------>如何将Android源码导入Eclipse中来查看(非常实用)

    Android源码下载完成的目录结构如如所示: step1:将.classpath文件拷贝到源代码的根目录 Android源码支持多种IDE,如果是针对APP层做开发的话,建议大家使用Eclipse开 ...

  8. Tomcat8源码编译及导入Eclipse中研究

    最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译 ...

  9. 导入eclipse工程到Android Studio中

    ref:从 Eclipse 迁移至 Android Studio | Android Studiohttps://developer.android.com/studio/intro/migrate. ...

随机推荐

  1. C# sql语句拼接时 like情况的防sql注入的用法

    今天下午同事问我一个比较基础的问题,在拼接sql语句的时候,如果遇到Like的情况该怎么办. 我原来的写法就是简单的拼接字符串,后来同事问我如果遇到sql注入怎么办.我想了下,这确实是个问题. 刚在网 ...

  2. 在ROS中使用Python3

    Use Python3 in ROS. 以下内容在Ubuntu 16.04 x64和ROS kinetic中测试通过 事实上,只要在.py文件加上python3的shebang,rosrun的时候就会 ...

  3. Mongodb Manual阅读笔记:CH9 Sharding

    9.分片(Sharding) Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mongodb ...

  4. Tomcat:Custom a common error page valve for all web application in tomcat

    如果在一个Tomcat Server上会部署多个Web应用,又希望这多个Web应用共用一套错误页面,而不是使用默认的错误页面.就需要自定义错误页面了. 在每个web应用中都可以通过error-page ...

  5. UNABLE TO PURGE A RECORD(二)

    上一篇文章说明了bug出现的原因和原理分析,要修复bug似乎已经水到渠成了,但远没有这么简单,只因为“并发”.要修复问题,首先要做的第一件事情是稳定的复现问题.由于数据库系统是一个并发系统,并且这个b ...

  6. SQL 扩展事件

    在本篇,我通过使用新建“Session ”对话框来创建新的扩展事件会话.定义一个自己的扩展事件,动作和谓词,并且发布一个以收集事件数据为目的的会话. 首先从UI开始 在SQLServer2008R2以 ...

  7. redis k-v数据库、高速缓存、消息队列代理

    Redis 简介   Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的 ...

  8. Oracle Data Provider for .NET

    官方地址: http://www.oracle.com/technetwork/topics/dotnet/index-085163.html 终于有正式版了.不用装客户端,又小,确实好.

  9. Kafka三款监控工具比较(转)

    在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导致网络阻塞.并且 ...

  10. x01.os.16: 添加功能

    准备工作  1.确保是 win xp,如是 win 8,运行 nasm 需按提示同意安装组件.  2.确保 src 和 z_tools 在同一目录下,nasm 已包含在 z_tools 文件夹中.  ...