Android Studio导入AOSP源代码【亲测可行】

栏目: 编程工具 · Android · 发布时间: 6年前

内容简介:从在Android Studio打开android.ipr文件。打开com/android/server/am/ActivityManagerService.javaWORKING_DIRECTORY/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java

https://github.com/difcareer/AndroidSourceReader 下载适合版本的项目文件,把三个文件放在WORKING_DIRECTORY

在Android Studio打开android.ipr文件。打开com/android/server/am/ActivityManagerService.java

WORKING_DIRECTORY/frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java

IDE提示设置SDK。设置SDK为1.8 no libraries。

然后IDE显示非常多红线。

Android Studio导入AOSP源代码【亲测可行】

Android Studio导入AOSP源代码【亲测可行】

打开Project Structure,在dependencies里删除所有项目,只剩下Module source和1.8 (no libraries)。 [1] Shuhao Wu. Setting up Intellij with CyanogenMod/AOSP development . . 2014-04-27 [2019-06-08].

Android Studio导入AOSP源代码【亲测可行】

Android Studio导入AOSP源代码【亲测可行】

打开Android Studio设置,取消选中Show code lens on scrollbar hover。

Android Studio导入AOSP源代码【亲测可行】

仍然有API level错误。我不知道怎么解决,只好先把这项检查关掉。在错误提示显示时,按ctrl+F1,会展开错误提示,最后写着issueid。发现这两个issue id是NewApi和InlinedApi。在settings->Editor->Inspections,把这两项检查关掉。

Android Studio导入AOSP源代码【亲测可行】 Android Studio导入AOSP源代码【亲测可行】

可选,该设置只应用到单个文件:在滚动条顶端右击,选择Customize Highlighting Level,滑动到Syntax。

Android Studio导入AOSP源代码【亲测可行】

Android Studio导入AOSP源代码【亲测可行】

打开WORKING_DIRECTORY/frameworks/base/core/java/android/app/ActivityManager.java

android/app/ActivityManager.java

IDE报告错误Duplicate class。

Android Studio导入AOSP源代码【亲测可行】

Duplicate class found in the file ‘WORKING_DIRECTORY/out/target/common/obj/JAVA_LIBRARIES/android_system_stubs_current_intermediates/src/android/app/ActivityManager.java’

用好一点的编辑器打开android.iml,找到

<sourceFolder url="file://$MODULE_DIR$/out/target/common/obj/JAVA_LIBRARIES/android_system_stubs_current_intermediates/src" isTestSource="false" />

把这行删掉。在Android Studio里Close Project,重开。

打开Navigate->File,输入ActivityManagerService,发现ActivityManagerService.class也在项目中,应予以排除。

Android Studio导入AOSP源代码【亲测可行】

Android Studio导入AOSP源代码【亲测可行】

WORKING_DIRECTORY/out/target/common/obj/JAVA_LIBRARIES/services.core_intermediates/classes/com/android/server/am/ActivityManagerService.class

WORKING_DIRECTORY/out/target/common/obj/JAVA_LIBRARIES/services_intermediates/classes/com/android/server/am/ActivityManagerService.class

很奇怪iml文件根本没有include这些文件夹,但它们还是被当做在项目里。只好在content节点最后添加一行

<excludeFolder url="file://$MODULE_DIR$/out/target/common/obj/JAVA_LIBRARIES/" />

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机程序设计艺术(第3卷 英文版·第2版)

计算机程序设计艺术(第3卷 英文版·第2版)

Donald E.Knuth / 人民邮电出版社 / 2010-10 / 119.00元

《计算机程序设计艺术》系列被公认为计算机科学领域的权威之作,深入阐述了程序设计理论,对计算机领域的发展有着极为深远的影响。本书是该系列的第3卷,扩展了第1卷中信息结构的内容,主要讲排序和查找。书中对排序和查找算法进行了详细的介绍,并对各种算法的效率做了大量的分析。 本书适合从事计算机科学、计算数学等各方面工作的人员阅读,也适合高等院校相关专业的师生作为教学参考书,对于想深入理解计算机算法的读......一起来看看 《计算机程序设计艺术(第3卷 英文版·第2版)》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

html转js在线工具
html转js在线工具

html转js在线工具