您的位置:68399皇家赌场 > 集群主机 > 英特尔liJ IDEA导入Android源码

英特尔liJ IDEA导入Android源码

发布时间:2020-03-18 06:35编辑:集群主机浏览(60)

    图片 1idea2.png

    最后

    • 嫑放弃,嫑放弃,嫑放弃!哈哈,整了3day,供参考!

    一,第一步-----编译源代码

    第一必要下载android源码而且编写翻译参谋Windows,Linux,Mac参考安卓官方网站Mac系统能够参见Mac系统下编写翻译Android源码

    make: *** No rule to make target `out/target/product/generic/root/file_contexts', needed by `snod'. Stop.
    

    湮灭办法:

    蒙受计划 & 下载

    • 参照小说

    法定文书档案
    湫水blog
    南开镜像
    调试
    以下有所操作在mac上开展

    • 引入下载 7.0及以上系统!!!

    • 1.创办磁盘印象(80G)

      $ hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS ' -size 80g ~/android.dmg
      
    • 2.安装MacPorts (类似brew)
      安装达成后,运营:

      // 一路根据提示,选择y,回车
      $ POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
      

      假定这里报错了,说找不到port命令,就必要在~/.bash_profile中增多一行:

          export PATH=/opt/local/bin:$PATH。 
      

    (操作步骤-->展开终端--> open .bash_profile -->添加 --> source .bash_profile)
    Xcode自带,没有要求安装

    • 3.设置文件陈述符节制

      在Mac OS中,暗中认可限定的同一时候开垦的文件数量非常少,不可能满足编写翻译进程中的高并发供给,由此,在~/.bash_profile中增加下边的吩咐(步骤同上卡塔尔:

      # set the number of open files to be 1024
      ulimit -S -n 1024
      
    • 4.下载Repo

    • 4.1 创立bin目录并照准Path,确认保证存在bin目录

         $ mkdir ~/bin
         $ PATH=~/bin:$PATH
      
    • 4.2 然后在命令行中输入下边的吩咐,下载Repo,况且修改属性(翻墙):

      $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
      $ chmod a x ~/bin/repo
      
    • 4.3 张开并校订Repo文件中 REPO_U奥德赛L地址为国内镜像(~/bin/repo)
      REPO_URL = 'https://gerrit-google.tuna.tsinghua.edu.cn/git-repo'

    • 4.4 改进地址, 创立目录
      mkdir /Volumes/untitled/xxx cd /Volumes/untitled/xxx

    • 5.下载
      分选版本举行联合
      repo init -u https://aosp.tuna.tsinghua.edu.cn/platform/manifest -b android-android-6.0.1_r79 repo sync

    1,试行伊始化脚本
    . build/envsetup.sh
    

    这一步必供给试行,否则下边第二步会报''mmm 命令找不到"

    图片 2build:envsetup.sh.png

    <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$/external" /><excludeFolder url="file://$MODULE_DIR$/hardware" /><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$/packages" /><excludeFolder url="file://$MODULE_DIR$/pdk" /><excludeFolder url="file://$MODULE_DIR$/prebuilt" /><excludeFolder url="file://$MODULE_DIR$/prebuilts" /><excludeFolder url="file://$MODULE_DIR$/sdk" /><excludeFolder url="file://$MODULE_DIR$/system" /><excludeFolder url="file://$MODULE_DIR$/tools" />
    
    Checking build tools versions...build/core/main.mk:90: ************************************************************build/core/main.mk:91: You are building on a case-insensitive filesystem.build/core/main.mk:92: Please move your source tree to a case-sensitive filesystem.build/core/main.mk:93: ************************************************************build/core/main.mk:94: *** Case-insensitive filesystems not supported. Stop.
    

    导入Android Studio

    • 1.编译idegen模块
    $ mmm development/tools/idegen/
    # 如果报错
    # 就在源码目录下执行如下指令(点与build之间是有空格的):
    $ . build/envsetup.sh
    
    • 2.在根目录生成对应的android.ipr、android.iml IDEA工程安排文件
       development/tools/idegen/idegen.sh
       ```
    * 3.生成的三个文件:
    
    android.ipr:通常是保存工程相关的设置,比如编译器配置,入口,相关的libraries等
    android.iml:则是主要是描述了modules,比如modules的路径,依赖关系等.
    android.iws:则主要是包含了一些个人工作区的设置.
    ```
    
    • 4 优化布局,减少编写翻译时间长度
      改过android.iml文件,只保留了framworks和packages模块,增多以下代码

       <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$/external" />
       <excludeFolder url="file://$MODULE_DIR$/hardware" />
       <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$/prebuilt" />
       <excludeFolder url="file://$MODULE_DIR$/prebuilts" />
       <excludeFolder url="file://$MODULE_DIR$/sdk" />
       <excludeFolder url="file://$MODULE_DIR$/system" />
       <excludeFolder url="file://$MODULE_DIR$/tools" />
      
    • 5.应用Android studio展开任意一个类别,然后选用File->Open,张开根目录下的android.ipr文件夹,然后等待长久的index实现后,就足以低价查看源码了。
      假诺访谈不了此前创制的磁盘,直接双击android.ipr文件用 Android Studio 打开就可以。

    • 6.调治将养优化参见最上链接。

    • 7.若是你的sh命令实行不断,去下载三个iTerm2终端吧,好使。

    3,生成个工程布置文件 android.ipr、android.iml
    development/tools/idegen/idegen.sh
    

    图片 3development:tools:idegen:idegen.sh.png

    如上海教室mmm命令编写翻译idegen模块,在源码目录下的out/host/linux-x86/frameworks/目录下生成了idegen.jar文件,文件地方如下图:

    • 1.在执行

    编译

    应用上边的通令初阶编写翻译源码:

    # 16为线程数量
    make -j16
    
    • 1.编写翻译过程中恐怕会退步,小编蒙受个找不到系统版本的主题素材一:
        build/core/combo/mac_version.mk:38: *****************************************************
        build/core/combo/mac_version.mk:39: * Can not find SDK 10.6 at /Developer/SDKs/MacOSX10.6.sdk
        build/core/combo/mac_version.mk:40: *****************************************************
        build/core/combo/mac_version.mk:41: *** Stop..  Stop.
    
    * 1.1 首先查看系统版本,我的是10.12.2
    * 1.2然后找到源码目录,打开build/core/combo/mac_version.mk文件,将mac_sdk_versions_supported改为系统中所装版本
    
        #mac_sdk_versions_supported := 10.6 10.7 10.8 10.9
        mac_sdk_versions_supported := 10.12
        ```
    
    * 2.问题二,MacOSXSDK 版本不对,10.12不支持
    

    system/core/libcutils/threads.c:38:10: error: 'syscall' is deprecated: first deprecated in OS X 10.12 - syscall(2) is unsupported; please switch to a supported interface. For SYS_kdebug_trace use kdebug_signpost(). [-Werror,-Wdeprecated-declarations]
    ```

    • 2.1下载:https://github.com/phracker/MacOSX-SDKs

    • 2.2解压zip包未来将 MacOSX10.11.sdk 拷贝到笔者的目录 /Users/sun/Downloads/macos/MacOSX10.10.sdk

    • 2.3退换引用

        ```
        sudo ln -s /Users/sun/Downloads/macos/MacOSX10.10.sdk /Applications/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk
         ```
      
    • 2.4 然后确定保证AOSP源码下build/core/combo/mac_version.mk文件中mac_sdk_versions_supported := 10.9 10.10 10.11,超少说,都是泪呀

    • 参照地址

    4,导入源代码
    File->New->Import project->进入对应的目录-->点击配置文件 android.ipr即可
    

    图片 4显示器快速照相2017-02-06 22.24.00.png

    代码导入的时日概况在15-25分钟之间.然后就能够尽量运用Android Studio的火速键进行代码阅读了

    $ source build/envsetup.sh$ mmm development/tools/idegen/
    

    Android开发群:192508518

    二,第二步------导入源代码

    对照源码下目录,作者把除了frameworks模块的其他具有模块都过滤掉了。那样导入的速度迅猛,3分钟左右就导入完毕了。

    Here is how I fixed it:Download earlier Mac OSX SDK(10.11 worked for me) fromhttps://github.com/phracker/MacOSX-SDKs/releasesUnzip and copy to /Applications/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
    
    2,单独编写翻译idegen模块
    mmm development/tools/idegen/
    

    图片 5mmm development:tools:idegen.png

    mmm命令解释m 在源码树的根目录实施 makemm build 当前目录下的模块mmm build 钦命目录下的模块

    开始以前,我们要求一份早就编写翻译过的源码,要是你还未编写翻译或许还未源码请看笔者的上一篇小说ubuntu12.04编写翻译android4.4源码、sdk及kernel,里面有你编写翻译源码须求的具备能源。

    事实上那么些情势也不可能减轻,因为前面包车型客车编写翻译中如故不扶植10.12,由于对中间不熟,所以利用了另三个主意,在Xcode中增加sdk,见上边方法。

    三,一些注意事项

    • Android Studio自己运维设置内部存款和储蓄器要大学一年级些,依据本人Computer处境
    • 修改studio.vmoptions里面JVM的参数

    图片 6显示器快速照相2017-02-06 23.33.18.png

    • 大小写敏感设置 在idea.properties中加多idea.case.sensitive.fs=true

    晒一张本人在Mac系统下利用Android Studio导入的未编写翻译的源码的截图:

    Couldn't locate the directory development/tools/idegen
    

    Android系统源码容积宏大,导入代码查看工具备Source Insight, Sublime Text,Eclipse等等( 阅读Android源码的法子 State of Qatar,下边分享应用Android Studio导入安卓源码的方法.

    图片 7Paste_Image.png

    报错:

    #首先确保在android-studio目录下执行 $ bin/studio.sh
    

    随之展开如下分界面,找到Android源码地点,然后找到变化的android.iml文件,鼠标选中,然后点击open就能够。

    因为mmm 命令已经把root目录删除了,找不到root目录所以命令也截至了,不过不用忧虑能够试行make命令,注意固守下列顺序实行:(因为大家早就试行过贰次源码编译,所以随后再施行make命令平时3-5分钟就编写翻译完结生成system.img等文件了。)

    命令:

    何以小编题目上说无需编写翻译就能够导入Android Studio,但是却又须要一份编写翻译好的源码呢,先mai个关键,请向下看,看完你就精通了。

    实施结果:

    图片 8Paste_Image.png

    $ source build/envsetup.sh
    

    点击ok,大约过了3-5分钟,就导入完毕了,如下图:

    路径Android-7.1.2_r11/build/core/combo/mac_version.mk,加上你现在系统的版本:

    注:稳重看上海教室的命令输出,能够看出一大段rm -f out/target/product/generic/... ,所以那个mmm命令会把system.img等文件删除,模拟器也会运作不了了,小编运营了再也生成镜像命令$ make snod 也非常,指示:

    本文由68399皇家赌场发布于集群主机,转载请注明出处:英特尔liJ IDEA导入Android源码

    关键词: 68399皇家赌场 源码 android... IntelliJ

上一篇:没有了

下一篇:没有了