Yur*_*ury 11 android android-source
有没有人尝试使用IntelliJ IDEA与AOSP合作?我在Android源代码中看到了一个特定的文件夹(development/ide/intellij)但是在Android开发的情况下我找不到任何关于如何使用它的信息(对于Eclipse,可以在这里找到相关信息:http://source.android.com/ source/using-eclipse.html)任何人都可以提供类似的说明如何开始在IDEA中开发Android?
Mix*_*xaz 13
这里也很好读: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
Run Code Online (Sandbox Code Playgroud)
准备在IJ中索引的AOSP文件需要很长时间(我的笔记本上有一个SSD超过1小时),这是使用Eclipse的一个原因,因为我认为它不需要构建索引所以加载AOSP代码要快得多.
通过删除您不感兴趣的AOSP部分来减少android.iml文件是值得的.您可以development/tools/idegen/excluded-paths通过正则表达式模式添加它们,请参阅那里的README文件.
我添加了以下行excluded-paths:
^cts
^developers
^development
^external
.*/tests/.*
^sdk
Run Code Online (Sandbox Code Playgroud)
所以我的android.iml尺寸相当适中,大约需要1-2分钟.
idegen还可intellij-gen.sh以为给定的模块生成IJ项目.
如上文所述,您可以调整IJ以更快地工作(添加更多RAM等).以下是我的想法64.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
Run Code Online (Sandbox Code Playgroud)
你可以谷歌idea.vmoptions优化,有一些关于它的帖子(以及我从哪里拿到我的IJ配置)
从AOSP根文件夹,
1)首先建立你的目标.这将生成在aosp构建期间需要生成的任何java文件.2)使用lndir创建aosp dir的阴影目录.假设你的aosp dir是~john/work/aosp/ics.然后创建〜/ john/work/aosp/icsshadow
Cd到icsshadow并调用"lndir ../ics".这将为ics下的所有内容创建符号链接.
3)现在你使用icsshadow来处理你的IDE需要/生成的所有东西.如果使用ics文件夹,如果IDE生成任何构建工件,则aosp构建有时会失败.
4)cd到icsshadow目录.调用development/tools/idegen/idegen.sh
等到它完成.
5)如果要使用IntelliJ,请从icsshadow文件夹中打开android.ipr.如果要使用Eclipse,请选中使用Eclipse编辑/浏览AOSP代码.
| 归档时间: |
|
| 查看次数: |
4687 次 |
| 最近记录: |