idgen导入Android11源码

编程入门 行业动态 更新时间:2024-10-19 11:55:18

idgen导入Android11<a href=https://www.elefans.com/category/jswz/34/1770099.html style=源码"/>

idgen导入Android11源码

文章目录

          • 配置
          • 下载AS
          • 编译
          • 源码依赖导入
          • 玩一下andorid.iml

注意:

  1. 有些时候发现为啥自己编译就这么难呢?不是卡死就无数次重启虚拟机,一切的原罪在配置过低,换句话说就是
  2. 关于导入源码的下载参考 Android Studio for Platform (ASfP) 使用教程
  3. 内存消耗非常惊人!!! 建议编译内存在32G,避免出现卡顿甚至卡死,因为即使有交换内存仍然会卡顿,如下一共使用到11+8≈20G内存之多,加上Ubuntun本地内存高达7G左右,如果是虚拟机开发,建议直接上64G内存。

配置

1. 选择android.ipr导入源码
2. 建立一个空的jdk, 并设置为工程依赖的jdk
3. 删除所有的依赖库
4. 将
frameworks
external目录作为依赖,并调整依赖优先级
5. 将
out/target/common/R/设置为依赖
6. 将不需要的目录从索引中删除,提高检索速度
**

下载AS

下载

  1. =zh-tw#linux

  2. 3.双击解压到 :/opt/android-studio

创建快捷方式
/usr/share/applications/android-studio.desktop

[Desktop Entry]
Encoding=UTF-8
Name=RealAndroidStudio                                     
Comment=RealAndroidStudio                                  
Exec=/opt/android-studio/bin/studio.sh
Icon=/opt/android-studio/bin/studio.png
Terminal=false
StartupNotify=true
Type=Application
Categories=Application;Development;
编译

soruce build/envsetup.sh
lunch sdk_phone_x86_64
make -j8
mmm development/tools/idegen/
. development/tools/idegen/idegen.shsudo chmod 777 android.iml
sudo chmod 777 android.ipr
  • android.ipr:通常是保存工程相关的设置,比如编译器配置,入口,相关的libraries等
  • android.iml:则是主要是描述了modules,比如modules的路径,依赖关系等.
  • android.iws:则主要是包含了一些个人工作区的设置.


修改 iml 内容
gedit /data/android-11.0.0_r9/android.iml

  1. 源码只需要external(第三方依赖),frameworks(框架)
    <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$/external" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/frameworks" isTestSource="false" /><excludeFolder url="file://$MODULE_DIR$/.repo" /><excludeFolder url="file://$MODULE_DIR$/abi" /><excludeFolder url="file://$MODULE_DIR$/art" /><excludeFolder url="file://$MODULE_DIR$/bionic" /><excludeFolder url="file://$MODULE_DIR$/bootable" /><excludeFolder url="file://$MODULE_DIR$/build" /><excludeFolder url="file://$MODULE_DIR$/cts" /><excludeFolder url="file://$MODULE_DIR$/dalvik" /><excludeFolder url="file://$MODULE_DIR$/developers" /><excludeFolder url="file://$MODULE_DIR$/development" /><excludeFolder url="file://$MODULE_DIR$/device" /><excludeFolder url="file://$MODULE_DIR$/docs" /><excludeFolder url="file://$MODULE_DIR$/frameworks/base/docs" /><excludeFolder url="file://$MODULE_DIR$/hardware" /><excludeFolder url="file://$MODULE_DIR$/kernel" /><excludeFolder url="file://$MODULE_DIR$/libcore" /><excludeFolder url="file://$MODULE_DIR$/libnativehelper" /><excludeFolder url="file://$MODULE_DIR$/ndk" /><excludeFolder url="file://$MODULE_DIR$/out" /><excludeFolder url="file://$MODULE_DIR$/pdk" /><excludeFolder url="file://$MODULE_DIR$/platform_testing" /><excludeFolder url="file://$MODULE_DIR$/prebuilt" /><excludeFolder url="file://$MODULE_DIR$/prebuilts" /><excludeFolder url="file://$MODULE_DIR$/rc_projects" /><excludeFolder url="file://$MODULE_DIR$/sdk" /><excludeFolder url="file://$MODULE_DIR$/system" /><excludeFolder url="file://$MODULE_DIR$/tools" /><excludeFolder url="file://$MODULE_DIR$/trusty" /></content>

完成之后,按照上面说的步骤,使用Android Studio选中"android.ipr"打开项目即可。

源码依赖导入

如果之前没有删除orderEntry* 会出现很多依赖项,直接删除,然后导入frameworksexternal源码依赖*

导入后提示如下

玩一下andorid.iml

1. 我们删除整个项目

2. 打开iml 发现sourceFolder直接消失了,只剩下orderEntry 依赖

3.重新打开Project Structure

4.选择frameworkpackages 发现右边多了些Source Folders的源文件





更多推荐

idgen导入Android11源码

本文发布于:2023-12-07 11:37:33,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1671121.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:源码   idgen

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!