Có ai đã cố gắng làm việc với AOSP bằng IntelliJ IDEA không? Tôi thấy trong Android nguồn một thư mục cụ thể (phát triển/ide/intellij) nhưng tôi không thể tìm thấy bất kỳ thông tin nào để sử dụng nó trong trường hợp phát triển Android (đối với Eclipse, thông tin có thể tìm thấy ở đây: http://source.android.com/source/using-eclipse.html) đang phát triển Android ở IDEA?AOSP và IntelliJ IDEA
Trả lời
Từ thư mục gốc AOSP,
1) Đầu tiên xây dựng mục tiêu của bạn. Điều đó sẽ tạo ra bất kỳ tệp java nào cần được tạo trong quá trình xây dựng không gian. 2) Tạo một thư mục shadow của thư mục aosp bằng cách sử dụng lndir. Giả sử thư mục aosp của bạn là ~ john/work/aosp/ics. Sau đó, tạo ~/john/work/aosp/icsshadow
Cd to icsshadow và gọi "lndir ../ics". Điều đó sẽ tạo ra các liên kết tượng trưng cho mọi thứ theo ics.
3) Bây giờ bạn sử dụng icsshadow cho tất cả những thứ mà IDE của bạn cần/tạo ra. Nếu bạn sử dụng thư mục ics, việc xây dựng aosp một số lần thất bại nếu IDE tạo ra bất kỳ tạo phẩm xây dựng nào.
4) cd vào thư mục icsshadow. Gọi phát triển/công cụ/idegen/idegen.sh
Đợi cho đến khi hoàn thành.
5) Nếu bạn muốn sử dụng IntelliJ, hãy mở android.ipr từ thư mục icsshadow. Nếu bạn muốn sử dụng Eclipse, hãy kiểm tra Using Eclipse to edit/browse AOSP code.
Cũng là một đọc tốt ở đây: https://shuhaowu.com/blog/setting_up_intellij_with_aosp_development.html
Nếu bạn nhận được
Không thể tìm idegen.jar. Hãy chạy đầu tiên.
Bạn sẽ cần phải tạo ra nó đầu tiên:
source build/envsetup.sh
cd development/tools/idegen
mm
croot
development/tools/idegen/idegen.sh
Hãy chuẩn bị các file AOSP lập chỉ mục trong IJ cần có thời gian dài (hơn 1 giờ trên máy tính xách tay của tôi với một SSD trên tàu), một lý do để sử dụng Eclipse, vì tôi tin rằng nó không cần xây dựng các chỉ mục để tải mã AOSP nhanh hơn nhiều.
Đó là giá trị giảm tệp android.iml bằng cách xóa các phần AOSP mà bạn không quan tâm. Bạn có thể thêm chúng vào development/tools/excluded-paths
qua mẫu biểu thức chính quy, xem README tệp ở đó.
tôi đã thêm dòng sau vào excluded-paths
:
^cts
^developers
^development
^external
.*/tests/.*
^sdk
nên tôi android.iml
có kích thước khá vừa phải và tải trong khoảng 1-2 phút để thay thế.
idegen cũng có intellij-gen.sh
có thể tạo dự án IJ cho mô-đun đã cho.
Như đã đề cập trong bài viết ở trên, bạn có thể tinh chỉnh IJ để làm việc nhanh hơn (thêm nhiều RAM hơn, v.v.). Ở đây, ý tưởng của tôi64.vmoptions chỉ trong trường hợp:
-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
Bạn có thể google ý tưởng.tối ưu hóa vmoptions, có một số bài viết về nó (và nơi tôi đã lấy cấu hình IJ của tôi từ)
Nó hoạt động. Sử dụng android-5 bằng android studio. –
Có thể tìm thấy hướng dẫn chính thức bằng cách đi tới đường dẫn development/tools/idegen
và kiểm tra tệp README
. Đó là một ý tưởng tốt để đọc nó cho mình. Đây là nội dung cho IntelliJ:
Nếu bạn đang sử dụng IntelliJ ...
Nếu đây là lần đầu tiên bạn sử dụng 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.
Từ thư mục gốc của dự án. ..
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.
Thông báo lỗi sau có thể bật lên khi làm theo hướng dẫn .
Không thể tìm thấy idegen.jar. Hãy chạy đầu tiên.
Bạn có thể sửa được thông báo lỗi bằng cách đọc ở đây: https://www.protechtraining.com/blog/post/860?ncr=1
Mac OS X không còn có lndir, http://superuser.com/questions/171629/copy-directory-structure-without-copying- files-on-mac-os-x –