此文不同于官方文档给出的方案,之所以如此,基于以下考虑几点考虑:我们之所以拿源码进行增量开发,一般而言,不是为了整个工程,而是为了其中某个特定的模块,比如说
Contacts
,
Luancher
等;其次,官方方案有一个巨大的缺陷——优化后的模块打包成
apk
很有可能无法在其他系统上安装,因为它有系统权限,并且一直签
rom
的签名,而这个签名在其他系统上是拿不到的。换句话说,除非你想做嵌入式,否则别这么干。
具体步骤:
编译源码:由于这些模块依赖的包中有一部分是不开放的,所以,只能把整个源码编译一遍,然后拿出相关的
jar
包。
关于如何编译源码网上有很多说明,都是用
git
把源码下载下来(
4G
左右),然后配下相应的编译环境。请参照:
Justin
的
Build Android Platform
。通常会遇到一些错误,编译停止,这些错误通常都是一些库函数找不到,这时候你只需要将相应的库函数下载下来,也就是完善一下你的编译环境,比如说这个错误:“
/usr/bin/ld: cannot find -lz
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/aapt] Error 1
”
这个错误我曾经试了很多种方法,最后才发现就是
缺少
lib32z1-dev,
安装即可
:apt-get install lib32z1-dev
源文档
<
http://0123.blog.163.com/blog/static/47883120101024104416786/
>
所以,如果有相应的错误,就把
cannot find
后面那个东西,去掉“
-l
”,也就是相应的库函数了,如上面就是缺少了
z
函数。然后上网搜。
另外,据说我比较好运用的是
64
位系统
Ubuntu
,且内存比较大,
CPU
也比较
OK
,所以编译时错误比较少,编译时间也比较短,大概
1
个钟,而一般来说都要
2
个钟,所以大家做好心理准备。
有相关编译问题请咨询:
ernest.he2009@gmail.com
开始
Eclipse
之旅:
找到相关
jar
包,这个你如果熟悉
Java
肯定很容易就知道,
Android
中不开放的包一般在
frameworks
底下很容易找到,具体路径就是:
out/target/common/obj/JAVA_INTERMEDIATE/frameworks_intermediate
,拿到
class.jar
就可以了。但是在
Contacts
中比较特殊,需要另一个
phone
包,这个一样可以拿到。
关键是拿到之后怎么办的问题。处理不当就会造成
Eclipse
挂掉。这里就需要通过
User Libraries
来解决(参照下面的解决方案)。
这样开发环境建立起来以后就是编译了。为了能够成功编译运行。请参照以下解决方案:
解决方案
。
分享到:
相关推荐
android Contacts 源码eclipse编译Contacts 联系人 eclipse 源码此为android Contacts 联系人源码在eclipse编译的APK。 可以运行在 android4.4 以及一下的系统中,本人通过大量修改 直接安装运行即可。
在Eclipse中编译Android自带的联系人应用涉及多个步骤,包括获取源码、配置环境、导入项目、编译和解决依赖。通过这个过程,开发者可以深入学习Android系统的内部工作原理,并对联系人应用的源码进行定制和改进。...
Eclipse是Java开发中广泛使用的集成开发环境,对于Android开发,通过安装ADT插件,Eclipse可以提供专门针对Android应用的开发支持,包括项目管理、代码编辑、调试等功能。 3. **Eclipse Helios**: 这是Eclipse的...
这篇文档将深入解析《android通讯录源码》的相关知识点,主要涵盖Android应用开发中的核心概念、文件结构...通过分析和学习这个源码,初学者可以深入理解Android通讯录功能的实现原理,并掌握Android开发的基础技能。
总的来说,Android 4.1 SDK源码是一个巨大的知识库,它包含了大量的编程实践和设计模式,是提升Android开发技能的宝贵资源。无论是初学者还是经验丰富的开发者,都应该花时间去研究和学习这些源码。
3. 使用源码编译:由于普通开发环境无法赋予应用系统权限,因此需要将APP的源代码放入Android源码树的`packages/apps/`目录下,并创建一个`Android.mk`文件,配置编译参数。例如,使用`LOCAL_CERTIFICATE := ...
APK文件是由专门的开发工具(如Eclipse)编译生成的,包含了应用程序的所有组成部分,如二进制代码、资源文件、配置文件等。 APK文件本质上是一个ZIP格式的文件,因此可以直接用解压软件打开。解压后,可以看到以下...
综上所述,"仿ios通讯录"的实现涉及了Android应用开发的多个方面,包括界面设计、数据管理、用户体验、性能优化等多个关键技术,需要开发者具备全面的Android开发技能和良好的用户体验设计意识。通过合理的设计和...