android源码开发
⑴ 如何使用Android Studio开发/调试Android源码
一、修改Android Studio(以下简称AS)的内存配置
因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件
三、生成导入AS所需配置文件(*.ipr)
①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/
在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh
等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms
这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件
④在AS中打开源码根目录下新生成的android.ipr
四、解决源码中跳转错误问题
①为当前工程设置正确的SDK和JDK
②设置'Moles'的依赖
先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or directories'选项,依次将frameworks和external文件夹添加进来
五、DEBUG源码
可以通过给刚导入的工程在'Moles'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便调试代码.
在弹出的选择进程(Choose Process)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.
六、其它
代码中很多地方提示Call requires API Level x.... 出现这个问题是因为AS将工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.
只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。
也可以考虑使用build.gradle来解决该问题。
⑵ 怎样使用Eclipse来开发Android源码
使用Eclipse来开发Android源码步骤:
1、Eclipse必须按照ADT插件并下载对应的SDK库文件,按照插件后的Eclipse
4、点击下一步,即可完成使用Eclipse来开发Android源码
⑶ 如何使用Android Studio开发/调试Android源码
开发调试环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源码
由于AS是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA
一、修改Android Studio(以下简称AS)的内存配置
因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m,可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK,这样可以确保使用源码里的库文件
在代码中加断点,然后选择'Run'->''或者直接点击下图所示的图标
在弹出的选择进程(Choose Process)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.
六、其它
代码中很多地方提示CallrequiresAPILevelx.... 出现这个问题是因为AS将我们的工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.
我们只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。
也可以考虑使用build.gradle来解决该问题。
⑷ Android开发中如何加载API源码帮助开发
查看Android API源码:
1、第一步:选中Android项目,鼠标右键“Properties——》Java Build Path——》Libraries”
⑸ 如何使用android studio开发/调试android源码
Android源码的编辑和调试和Android Studio没什么关系,一个是系统源代码,一个是用于应用开发的集成工具。
Android Studio是利用SDK框架开发运行于Android系统的应用程序的一个代码编辑工具,编写的程序是运行在装有Android系统的设备或者Android虚拟机上运行的,这个家伙搞出来的都是应用,跟系统源码没什么关系。
Android源码是一个复杂的代码包,没有调试的概念,需要验证就是linux下make,这个需要搭建基于linux系统的编译环境,然后生成系统包,用烧录工具写到硬件设备上,开启设备用串口调试,这个完全是系统层上的东西,跟androidstudio那个编写应用的工具没一毛钱关系。源码编辑一般都是直接用vim看,也有用记事本类的东西。这里边搞的代码,也不只是java的,c++的,xml的,还有什么都不是的脚本什么的。
⑹ android 源码开发哪个版本好
Android 在发布每一个新的版本时会有声明,哪些功能有改动,哪些功能或类被废弃不用,哪些功能有增加。你可以比较比较Android 1.5, Android 1.6, Android 2.0, Android 2.2, Android 2.3这几个版本的不同,下载源码后把它们关联到开发中,coding的时候比较比较,过时的接口或类eclipse会有提示。比如有时候你在开发应用后要在每一个你可能要发布的机型所安装的操作系统下进行模拟,就是为了避免由于兼容性造成的一些BUG。一般来说低版本开发的程序可以在高版本下跑,但是反过来则不行。
⑺ 如何使用Eclipse开发Android源码
用eclipse+ADT作为android开发工具,可以说是很方便的,在HelloActivity小程序里我们就感觉到eclipse功能的强大。那么,我们可以用eclipse来开发android源码吗?如果我们直接把android源码里一个工程导入eclipse,一般来说都会出现错误,说许多类库(包)找不到。
今天找到关于怎样使用eclipse来开发android源码的官方文档:
https://sites.google.com/a/android.com/opensource/using-eclipse7e7V/[:]!l*P+n0`
从该文档和实践可以总结出几点:0J*f"t:q/i&c
1、可以使用eclipse来编辑JAVA程序、检查错误(主要是类库包含和语法方面),但是不能在eclipse上编译运行android源码,还是得在shell中make(或mm或mmm)
2、android源码文件夹里提供有一些eclipse配置文件,.n;`4E)z5B8G6V,z1x2a
.claapath:eclipse工程的配置文件,方便我们直接把android源码相应的文件和JAVA包导入工程#?%B9J,m!t%n0t*B9P'?;{
android-formatting.xml和android.importorder:这个很重要,主要是用来规范我们的编码风格,更容易使我们的代码风格一致
3、把android源码作为一个工程导入eclipse时,必须注意两点
1)、新建的工程必须是javaproject,不能是androidproject,否则会破坏android源码(一般是多添加文件/文件夹)
2)、导入前最好检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹)
总的来说:!P"A+~']%p9I5U7V;S;B
1、用eclipse来编辑代码、检查错误
2、不在eclipse上编译、运行android源码程序,只能在命令行通过make(或mm或mmm)编译android源码
3、可以在eclipse上调试android源码程序(原理:eclipse通过ddms服务器在emulator上进行调试),并可以单步调试、断点调试。
下面,从官方文档总结出具体怎样用eclipse来开发android源码
1、建立基本的android开发环境3{#?0q:D&k#k)$R
请参考官方文档或
2、编译android源码
android源码根目录下通过make进行编译,请注意一些配置,具体可参考
3、把eclipse工程配置文件复制到android源码根目录下
cpdevelopment/ide/eclipse/.classpath./
chmo+w.classpath#Makethewritable
4、修改eclipse程序的配置
1)、修改eclipse缓存设置
把eclipse.ini(在eclipse软件的安装目录下)的3个值改为下面的值:
-Xms128m/i2t!A4p!Z%V/q#o"J
-Xmx512m;Jz8E.@'z'D'D3W
-XX:MaxPermSize=256m
2)、把android-formatting.xml和android.importorder导入eclipse
android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下
android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipse的import的顺序和结构。(S8q$p'T*x"/H7a
在window->preferences->java->Codestyle->Formatter中导入android-formatting.xml+X"y*b!N$m
在window->preferences->java->Codestyle->OrganizeImports中导入android.importorder#Fd5X"H.X
3)、安装anyedit插件(可选)#G9C;h/Z&q5D!s8z7y9_
在http://andrei.gmxhome.de/anyedit/下载并导入eclipse中+J.X#@5?3r3U
5、把android源码作为一个工程导入eclipse
导入前先检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹),.classpath里多余的路径可删除-]!U4n$@:~9b+A1|-z
新建JavaProject(不是androidproject,否则会破坏android源码),选择从已存在的工程导入,工程名任意,完成。
导入时,eclipse要build工程,比较慢。导完后,一般都没有错误。"B(Ui%w#w*y4]
6、eclipse上调试android里的程序。
先执行:$K+H,r.},v._U5q'x&~,I
cdandroid源码目录
.build/envsetup.sh
lunch1#tobuildtheemulator
emulator&#$q-{/n6z+{.k0O&I0-p
ddms&#
然后在eclipse中配置调试类型和端口:5z8t(q*A+o-g7L#_
在Run->DebugConfigurations->Remotejavaapplication上双击,然后,”Host:”设为localhost,”Port:”设为8700,”ConnectionType”为Standard(SocketAttach)
然后“Apply”-Q7I(8v4BA9R/Q&u
注意,在点击”Debug”时苦出错,说8700端口被占用,那么把DDMS程序关掉,重新打开DDMS就OK了。如果提供连不到VM错误时,请注意,要先在DDMS中选中某一进程(对应某一应用程序),才能在eclipse执行Debug。.B%*E!T,K7N8Ub
在eclipse调试时,可以设断点、单步调试。估计google团队也是这样开发、调试android应用程序的&X:n6t"|%B4E
7、编译android源码2?:`9i0O1U;E*|+Z']/r
执行:
cdandroid源码目录0v1Z;p1P0|$V6x5A.@$S2o7p
.build/envsetup.sh$R!h!^-l/l:i5P
那么就会多出mm/mmm等命令,mm/mmm用来编译模块(包括C、C++、JAVA程序)。我们也可以直接在android源码根目录下执行“make模块名”来编译模块。
来自开源中国网老枪的分享
⑻ android 的源码开发必须在linux下进行吗
在
windows7
也是可以了,因为android用的开发语言是java,java是跨平台的语言,在任何系统都可以进行工作不用改代码,只要安装对用的
java虚拟机
就可以了
⑼ 如何使用Android Studio开发/调试Android源码
一、修改Android Studio(以下简称AS)的内存配置
因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件
三、生成导入AS所需配置文件(*.ipr)
①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/
在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh
等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms
这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ
IDEA社区版开发的)的配置文件
Tips:
AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder
url="file://$MODULE_DIR$/abi" />
<excludeFolder
url="file://$MODULE_DIR$/art" />
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr
如果在导入时AS出现
则建议按照其给定的解决方法来解决
四、解决源码中跳转错误问题
①为当前工程设置正确的SDK和JDK
②设置'Moles'的依赖
先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or
directories'选项,依次将frameworks和external文件夹添加进来
⑽ 如何在android源码下开发app
用开发软件,基本的,先学会c++\java\c#\VB等程序开发语言,除此之外,还需要对app的功能进行分析、建模,再用前面所说的语言在软件的特定环境下实现,如VS等,完成之后还要运用其他环境对程序进行实施、运维等,对程序的测试、再完善很重要,初学者很难一步到位。