android 底部dialig,Android Studio导入AOSP源代码【亲测可行】

在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显示非常多红线。

%E6%89%93%E5%BC%80Project-Structure.png

Project-Structure%E9%87%8C%E5%88%A0%E9%99%A4dependencies.png

打开Project Structure,在dependencies里删除所有项目,只剩下Module source和1.8 (no libraries)。

%E6%89%93%E5%BC%80settings.png

%E5%8F%96%E6%B6%88%E9%80%89%E4%B8%ADShow-code-lens-on-scrollbar-hover.png

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

%E4%BB%8D%E7%84%B6%E6%9C%89API-level%E9%94%99%E8%AF%AF.png

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

InlinedApi.png

NewApi.png

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

%E5%9C%A8%E6%BB%9A%E5%8A%A8%E6%9D%A1%E9%A1%B6%E7%AB%AF%E5%8F%B3%E5%87%BB%EF%BC%8C%E9%80%89%E6%8B%A9Customize-Highlighting-Level.png

Highlighting-Level%E8%AE%BE%E7%BD%AE%E4%B8%BASyntax.png

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

android/app/ActivityManager.java

IDE报告错误Duplicate class。

duplicate-class.png

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,找到

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

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

%E6%89%93%E5%BC%80Navigate-File.png

%E5%8F%91%E7%8E%B0ActivityManagerService.class%E4%B9%9F%E5%9C%A8%E9%A1%B9%E7%9B%AE%E4%B8%AD.png

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节点最后添加一行

打开frameworks/base/core/java/android/util/Log.java,发现这个类与/home/qiqi/Project/WORKING_DIRECTORY/packages/inputmethods/LatinIME/tools/dicttool/compat/android/util/Log.java重复,在iml文件里删除

删除这些路径不是最好的办法。按照Visual Studio的解决方案结构,dicttool应该是一个单独项目。我目前不清楚怎么在Android Studio设置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值