AOSP和IntelliJ IDEA的(AOSP and IntelliJ IDEA)

2019-09-03 14:56发布

有没有人试图与AOSP使用IntelliJ IDEA的工作? 我看到了Android的源特定的文件夹(开发/ IDE /的IntelliJ),但我无法找到任何信息,如何使用它的Android开发(适用于Eclipse的情况下,信息可以在这里找到: http://source.android.com/源/使用-eclipse.html )任何人都可以提供类似的指令如何开始在IDEA开发Android?

Answer 1:

另外一个良好的阅读位置: https://shuhaowu.com/blog/setting_up_intellij_with_aosp_development.html

如果你得到

找不到idegen.jar。 请运行make第一。

你需要首先生成它:

source build/envsetup.sh
cd development/tools/idegen
mm
croot
development/tools/idegen/idegen.sh

做好准备,AOSP文件IJ索引需要很长时间(1小时以上在我的笔记本上板的SSD),一个理由来使用Eclipse,因为我相信它并不需要建立索引,以便负载AOSP代码快得多。

它的价值减少与消除你不感兴趣的AOSP部分android.iml文件。你可以将它们添加到development/tools/excluded-paths通过正则表达式模式,见README文件存在。

我添加下列行excluded-paths

^cts
^developers
^development
^external
.*/tests/.*
^sdk

所以我android.iml在约1-2分钟有相当规模适中和负载来代替。

idegen也已经intellij-gen.sh它可以生成特定的模块IJ项目。

正如文章上面提到的,你可以调整IJ的工作速度更快(添加更多的RAM,等等)。 这里不用我idea64.vmoptions以防万一:

-server
-Xms2048m
-Xmx4096m
-XX:MaxPermSize=1024M
-XX:ReservedCodeCacheSize=1024M
-XX:+UseCodeCacheFlushing
-XX:+UseCompressedOops
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:ParallelGCThreads=8
-XX:+AggressiveOpts
-XX:+CMSClassUnloadingEnabled
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:-TraceClassUnloading
-XX:+TieredCompilation
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djsse.enableSNIExtension=false

您可以在google idea.vmoptions优化,还有一些关于它的文章(和在那里我把我的IJ配置从)



Answer 2:

从AOSP根文件夹,

1)首先建立你的目标。 这将产生需要AOSP构建过程中产生的任何Java文件。 2)采用lndir创建AOSP DIR的DIR阴影。 假设你的AOSP dir是〜约翰/工作/ AOSP / ICS。 然后创建〜/ JOHN /工作/ AOSP / icsshadow

镉对icsshadow并调用“lndir ../ics”。 这将在IC的创建符号链接的一切。

3)现在,你用icsshadow所有的东西你的IDE需求/生成。 如果您使用的IC文件夹中,AOSP建立,如果IDE产生任何构建工件有时会失败。

4)cd到icsshadow目录。 调用开发/工具/ idegen / idegen.sh

等待,直到它完成。

5)如果你想使用的IntelliJ,从icsshadow文件夹打开android.ipr。 如果你想使用Eclipse,请使用Eclipse编辑/浏览AOSP代码 。



Answer 3:

官方说明可以通过将要发现development/tools/idegen路径和检查README文件。 这是给自己看是个好主意。 这是的IntelliJ内容:

如果您使用的IntelliJ ...

如果这是使用IDEGen你的第一次...

  IDEA needs a lot of memory. Add "-Xms748m -Xmx748m" to your VM options in "IDEA_HOME/bin/idea.vmoptions" on Linux or "IntelliJ IDEA.app/Contents/Info.plist" on OS X. Create a JDK configuration named "1.6 (No Libraries)" by adding a new JDK like you normally would and then removing all of the jar entries under the "Classpath" tab. This will ensure that you only get access to Android's core libraries and not those from your desktop VM. 

从项目的根目录...

  Repeat these steps after each sync... 1) make (to produce generated .java source) 2) development/tools/idegen/idegen.sh 3) Open android.ipr in IntelliJ. If you already have the project open, hit the sync button in IntelliJ, and it will automatically detect the updated configuration. If you get unexpected compilation errors from IntelliJ, try running "Build -> Rebuild Project". Sometimes IntelliJ gets confused after the project changes significantly. 

按照指示时,以下错误消息可能弹出。

找不到idegen.jar。 请运行make第一。

:您可以通过阅读这里修复该错误消息https://www.protechtraining.com/blog/post/860?ncr=1



Answer 4:

运行从Android源根目录下面的命令。

make idegen -j4 && development/tools/idegen/idegen.sh

随后推出的IntelliJ IDEA,并选择所产生的.ipr文件。 然后在下一屏幕上选择基于.ipr项目属性。

对我的作品,也比使用Android的工作室比较好,因为有一个恼人的背景扫描所有的Android工作室的时间。



文章来源: AOSP and IntelliJ IDEA