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/" />

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

查看所有标签

猜你喜欢:

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

Mastering Regular Expressions, Second Edition

Mastering Regular Expressions, Second Edition

Jeffrey E F Friedl / O'Reilly Media / 2002-07-15 / USD 39.95

Regular expressions are an extremely powerful tool for manipulating text and data. They have spread like wildfire in recent years, now offered as standard features in Perl, Java, VB.NET and C# (and an......一起来看看 《Mastering Regular Expressions, Second Edition》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

在线进制转换器
在线进制转换器

各进制数互转换器

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具