Android Studio调试Framework

作者: 安卓技术砖家 | 来源:发表于2021-07-24 07:07 被阅读0次

    idegen概念

    一个角落里的法器

    对于基于Android SDK开发App的开发者,Google提供了优秀的集成开发环境(ADT Bundle & Android Studio)以及完善的使用文档。但对于需要和Android系统源代码(AOSP)打交道的开发者来说,境况就差了很多。官方文档中只有 Using Eclipse 这篇文档指导如何将Android系统源代码工程导入到Eclipse中。但由于Android系统代码已经更新过几个版本,这篇文档并未同步更新,显得陈旧。

    文档中所提供的Eclipse工程配置文件已经和最新代码不完全匹配,直接使用会遇到这样那样的包依赖问题。另外,高大上的IntelliJ IDEA渐渐走进开发者的视野,对于想使用IntelliJ IDEA的开发者来说连过时的官方文档都没有。

    idegen是何物

    记不清在哪里看到过这样的言论:AOSP源代码工程里有很多好东西,对于想研究Android系统的人来说是个宝藏。果然,一次不经意的邂逅让我发现了idegen这个工具,可以解决上面提到的问题。

    要将Android系统源代码工程导入到Eclipse或者IntelliJ IDEA,关键是要有相应的工程配置文件。idegen就是用来生成针对Eclipse和IntelliJ IDEA的Android系统源代码工程配置文件的一个工具,它位于Android系统源代码工程目录的下列位置:

    development/tools/idegen/
    

    idegen的使用

    步骤一:配置IDE

    如果你选择使用IntelliJ IDEA

    由于IDEA需要使用许多内存,因此如果你是第一次使用idegen,那么你需要在Linux系统中的下述文件

    // 32bit
    IDEA_HOME/bin/idea.vmoptions
    // 64bit
    IDEA_HOME/bin/idea64.vmoptions
    

    或者OS X系统中的下述文件

    IntelliJ IDEA.app/Contents/Info.plist
    

    里面增加如下配置信息:

    -Xms748m -Xmx748m
    

    新建一个名称为“1.6 (No Libraries)”的JDK配置文件,和平常新建一个JDK配置文件的步骤相同,只不过最后需要将Classpath标签下面的所有jar条目删掉。这可以确保项目只访问到Android的核心库文件,而非你桌面电脑上的VM。

    如果你选择使用Eclipse

    类似的,首先需要配置下Eclipse。编辑文件eclipse.ini。在OS X系统中为:Eclipse.app/Contents/MacOS/eclipse.ini。在其中增加以下配置信息

    -Xms748m -Xmx748m
    

    通过Preferences -> Java -> Installed JREs配置一个名为“1.5 (No Libraries)”的JDK配置文件,去掉JRE system libraries标签下面的所有jar条目。不过,Eclipse不允许你保存该配置文件,除非包含至少一个jar条目,所以就保留random jar吧。

    步骤二:全编AOSP

    编译Android,具体步骤请参考 Building the System

    步骤三:编译生成idegen.jar

    在AOSP源码根目录执行下面的命令:

    $ mmma development/tools/idegen/
    

    运行无错误的话,会生成下面的文件:

    out/host/linux-x86/framework/idegen.jar
    

    步骤四:生成IDE配置文件

    在AOSP源码根目录执行下面的命令:

    $ development/tools/idegen/idegen.sh
    

    运行无错误的话,会在AOSP源代码根目录生成下列文件

    // 用于IntelliJ IDEA的项目配置文件
    android.ipr
    android.iml
    // 用于Eclipse的项目配置文件
    .classpath
    

    步骤五:将工程导入到IDE

    如果使用IntelliJ IDEA,则打开工程,浏览选择刚才生成的android.ipr文件即可。如果使用Eclipse,则导入AOSP源码的根目录即可。下图为在Intellij IDEA中导入后的效果图:

    安卓_AS调试Framework_内容1.png

    步骤六:设置需要导入的代码路径

    编辑android.iml文件,删除sourceFolder,orderEntry等不需要导入的源码路径。

    相关文章

      网友评论

        本文标题:Android Studio调试Framework

        本文链接:https://www.haomeiwen.com/subject/vpymmltx.html