We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
我是页眉
正则匹配链接[]()语法上有局限性 , 如有疑虑可查看本文原文
[]()
以前用 SourceInsight 做这件事 , 需要安装虚拟机 , 现在用 AndroidStudio
查看 自己 检出的 Android 源代码版本 > 方式一 :
/build/core/version_defaults.mk
PLATFORM_SDK_VERSION
如何生成AndroidStudio可以打开的项目文件
development/tools/idegen/readme
未提前编译 AOSP 源码同步完成后支架操作 idegen 生成 android.ipr 尝试导入源码 , 点击无法跳转
先make development/tools/idegen/子目录:
mmm development/tools/idegen/
cd development/tools/idegen/
mmm
生成项目文件:
development/tools/idegen/idegen.sh
idegen.ipr
idegen.iml
将项目导入到 idea 或者 AndroidStudio
IDEA 配置修改
如果 时间太久(2020-07-16 09:56:50) 还是应该参照官方指导做出合适的配置 aosp/development/tools/idegen/README
aosp/development/tools/idegen/README
个人配置如下 :
//Help -> Edit custom properties # 支持文件数 idea.max.intellisense.filesize=100000 # 支持大小写 idea.case.sensitive.fs=true
//Help > Edit Custom VM -Xms1g -Xmx5g
ipr
省心, 要忍受相对较陈旧的 IDE 工具
查看 idegen.sh 文件的 git 提交时间 , 找到历史 idea(2016.3.8 或 2017.3.7) 版本进行导入 ,
2016.3.8
2017.3.7
观察到 :
虽然有些许红色错误提示 , 但是可以顺利完成 Java 跳转
不支持 Kotlin (思路二 可以知道为啥不支持 kotlin)
要完成 java 跳转需要做的额外事情是:
File -> Project Structure
Project Settings
Modules
Dependencies
<Module source>
<No SDK>
仍然要先安装软件执行导入/打开动作
导入后先完成如下动作 , 在 2017 版本如下操作尝到了甜头在 2020 版本仍然保持这个做法
新思路 : 要使用 idea 2018 、 2019 或者 2020 版本我们或需是需要研究下 idea 的 .iml 文件
.iml
通过测试我们知道
iml
将 .iml 文件中的 <sourceFolder 节点中的属性 type 及其对应的值删掉并且重新扫描和建立索引的话就可以完成 java 代码跳转了
<sourceFolder
type
type="kotlin-test"
type="kotlin-source"
content
kotlin
<!--非本次重点的头部信息略--> <component name="NewModuleRootManager" inherit-compiler-output="true"> <exclude-output /> <content url="file://$MODULE_DIR$"> <!--自定义节点用于控制 kotlin 跳转 , 可以手动添加 , 觉得手动添加烦人 , 就写个脚本吧 , 找出所有需要添加的路径一次完成--> <!--[猜测 , 未测试]也可以通过 `File -> Project Structure` 添加节点--> <sourceFolder url="file://$MODULE_DIR$/tools/metalava/src/test/java" /> <!--原来的content 内容 删除了 sourceFolder 节点中的 type 属性--> <sourceFolder url="file://$MODULE_DIR$/art/test/004-JniTest/src" /> <!--content 中的其他节点省略--> </content> <!--orderEntry 节点们 也省略--> </component> </module>
至此我们已经可以通过 idea 正常读取 AOSP 了
事实上 : 通过 Android Studio 也可行
仍然会有部分错误提示 , 暂时放一放这个细节
//=================== 一个失败的分割线 ===================
我是页脚
The text was updated successfully, but these errors were encountered:
No branches or pull requests
我是页眉
0x00. 阅读 Android 源代码(2020-07-16 09:56:38)
0.1. 常规操作 无争议
以前用 SourceInsight 做这件事 , 需要安装虚拟机 , 现在用 AndroidStudio
查看 自己 检出的 Android 源代码版本 > 方式一 :
/build/core/version_defaults.mk
打开version_defaults.mk 文件,然后找�PLATFORM_SDK_VERSION
这个关键字的值,就可以在下表中找出相应的版本。如何生成AndroidStudio可以打开的项目文件
development/tools/idegen/readme
中有讲如何操作,我们按照其步骤来即可。未提前编译 AOSP 源码同步完成后支架操作 idegen 生成 android.ipr 尝试导入源码 , 点击无法跳转
先make development/tools/idegen/子目录:
mmm development/tools/idegen/
cd development/tools/idegen/
mmm
生成项目文件:
development/tools/idegen/idegen.sh
idegen.ipr
和idegen.iml
将项目导入到 idea 或者 AndroidStudio
idegen.ipr
父目录(AOSP 目录)即可idegen.ipr
文件即可IDEA 配置修改
如果 时间太久(2020-07-16 09:56:50) 还是应该参照官方指导做出合适的配置
aosp/development/tools/idegen/README
个人配置如下 :
0x01. 用最新的 idea 导入 aosp 项目无法跳转
1.1. 思路一 通过旧版本 idea 加载 idegen.sh 生成的
ipr
文件查看 idegen.sh 文件的 git 提交时间 , 找到历史 idea(
2016.3.8
或2017.3.7
) 版本进行导入 ,观察到 :
虽然有些许红色错误提示 , 但是可以顺利完成 Java 跳转
不支持 Kotlin (思路二 可以知道为啥不支持 kotlin)
要完成 java 跳转需要做的额外事情是:
File -> Project Structure
窗口Project Settings
中的Modules
子项Dependencies
标签<Module source>
和<No SDK>
移动到列表顶部1.2. 思路二 (键者更喜欢) , 仅仅针对 2020.1.2 版本完成了实际测试
仍然要先安装软件执行导入/打开动作
导入后先完成如下动作 , 在 2017 版本如下操作尝到了甜头在 2020 版本仍然保持这个做法
File -> Project Structure
窗口Project Settings
中的Modules
子项Dependencies
标签<Module source>
和<No SDK>
移动到列表顶部新思路 : 要使用 idea 2018 、 2019 或者 2020 版本我们或需是需要研究下 idea 的
.iml
文件通过测试我们知道
iml
文件 , 再通过修改查看索引结果将
.iml
文件中的<sourceFolder
节点中的属性type
及其对应的值删掉并且重新扫描和建立索引的话就可以完成 java 代码跳转了type="kotlin-test"
和type="kotlin-source"
而是因为
iml
文件中content
节点本身就没有kotlin
代码所在的路径的配置iml
文件格式如下至此我们已经可以通过 idea 正常读取 AOSP 了
事实上 : 通过 Android Studio 也可行
仍然会有部分错误提示 , 暂时放一放这个细节
参考
//=================== 一个失败的分割线 ===================
我是页脚
The text was updated successfully, but these errors were encountered: