2013-05-16 28 views
10

誰かがIntelliJ IDEAを使用してAOSPを操作しようとしましたか?私はAndroidのソースで特定のフォルダ(development/ide/intellij)を参照していますが、Android開発(Eclipse用の情報はここにあります:http://source.android.com/source/using-eclipse.html)の場合にどのように使用するかについての情報は見つかりません。 IDEAでAndroidを開発していますか?AOSPとIntelliJ IDEA

答えて

7

AOSPルートフォルダから、

1)まずターゲットをビルドします。これは、aospの構築中に生成する必要のあるJavaファイルを生成します。 2)lndirを使用してaospディレクトリのシャドウディレクトリを作成します。 あなたのaospディレクトリが〜john/work/aosp/icsであると仮定します。 〜/ john/work/aosp/icsshadowを作成します。

icsshadowにCdを入力し、 "lndir ../ics"を呼び出します。そうすれば、icsのすべてにシンボリックリンクが作成されます。

3)IDEに必要なものすべてにicsshadowを使用します。 icsフォルダを使用すると、IDEがビルド成果物を生成すると、aospビルドが失敗することがあります。

4)icsshadowディレクトリにcdします。 開発ツール/ idegen/idegen.shを呼び出します。

完了するまで待ちます。

5)IntelliJを使用する場合は、icsshadowフォルダからandroid.iprを開きます。 Eclipseを使用する場合は、Using Eclipse to edit/browse AOSP codeをチェックしてください。

+1

のMac OS Xもはやありlndir、http://superuser.com/questions/171629/copy-directory-structure-without-copying- files-on-mac-os-x –

8

また、ここで良い読書: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 

がIJでインデックス化AOSPのファイルが(ボード上のSSDと私のノートPCに1時間以上)長い時間がかかることを準備して、その理由を私はそれがAOSPコードをはるかに高速にロードするようにインデックスを構築する必要はないと思うので、Eclipseを使用する。

それはあなたに興味を持っていないAOSP部品を取り外すとandroid.imlファイルを削減する価値はあります。あなたはそこREADMEファイルを参照して、正規表現パターンを介してdevelopment/tools/excluded-pathsに追加することができます。

私はexcluded-pathsに次の行を追加しました:

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

をので、私のandroid.imlではなく、約1〜2分で、非常に適度な大きさと負荷を得ました。

idegenには、intellij-gen.shもあります。このモジュールは、特定のモジュールに対してIJプロジェクトを生成できます。

上記の記事で説明したように、より高速に動作するようにIJを調整することができます(RAMの追加など)。ちょうどの場合、私の考えは次のようになります:

-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のアイデアができます。vmoptionsの最適化について、いくつかの記事があります(そして私がIJの設定を取得した場所)

+0

それはアンドロイドスタジオを使ってandroid-5でそれをテストします。 –

0

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. 

instructiを以下の場合は、次のエラーメッセージがポップアップかもしれませんons。

idegen.jarが見つかりませんでした。まずmakeを実行してください。

あなたはここで読むことによって、エラーメッセージを修正することはできません:https://www.protechtraining.com/blog/post/860?ncr=1