2012-11-11 43 views
6

Tôi đã cố gắng tìm hiểu cách xây dựng ứng dụng Android với Gradle. Trước sự ngạc nhiên của tôi, tôi đã tìm thấy hai tài liệu tham khảo, một tài liệu tham khảo từ jvoegele và một tài liệu khác từ trang web Android Tools Project. Chúng có vẻ là prima facie khác nhau. Vì vậy, câu hỏi của tôi là tại sao có hai biến thể? Có mối quan hệ nào giữa hai người không? Tình trạng hiện tại của họ là gì? Tôi nên sử dụng cái nào - ưu và nhược điểm của họ? Có vẻ như Android mới bắt đầu.Tôi tìm thấy hai plugin android gradle - Có mối quan hệ nào giữa hai người không?

Tôi mong chờ một số yếu tố đầu vào có giá trị từ những người có trải nghiệm đầu tiên trong việc xây dựng ứng dụng Android với Gradle.

Trân trọng cảm ơn

SANTANU

+0

Tôi đang háo hức chờ đợi để nhận được một số phản hồi. Trình cắm Gradle nào mà mọi người thường sử dụng để tạo dự án Android? Cảm ơn bạn trước. – Santanu

Trả lời

1

Tôi chỉ chơi xung quanh với các plugin gradle từ các trang web công cụ dự án android và nó cảm thấy khá khó khăn để tìm ra cách điều nên làm việc. Nó không phải là rất tốt tích hợp vào luồng công việc phát triển nhật thực, ngay cả cấu hình dự án mặc định cho nhật thực đã không làm việc cho tôi. Có thể sửa lỗi này bằng cách mở rộng dự án và tạo tệp classpath và sửa đổi bố cục dự án bên trong tệp xây dựng gradle.

Đối với sửa chữa các dự án sáng tạo thực tôi đã lấy cảm hứng từ các plugin từ jvoegele (tín dụng đến đó):

eclipse{ 
    project { 
     natures "com.android.ide.eclipse.adt.AndroidNature" 

     def builders = new LinkedList(buildCommands) 
     builders.addFirst(new BuildCommand("com.android.ide.eclipse.adt.PreCompilerBuilder")) 
     builders.addFirst(new BuildCommand("com.android.ide.eclipse.adt.ResourceManagerBuilder")) 
     builders.addLast(new BuildCommand("com.android.ide.eclipse.adt.ApkBuilder")) 
     buildCommands = new ArrayList(builders) 
    } 
    classpath { 
     containers.removeAll { it == "org.eclipse.jdt.launching.JRE_CONTAINER" } 
     containers "com.android.ide.eclipse.adt.ANDROID_FRAMEWORK" 

     plusConfigurations += configurations.compile 

     file { 
      whenMerged { classpath -> 
       classpath.entries.removeAll { it instanceof SourceFolder && (it.dir?.path == "gen" || it.dir?.path == "src") } 
       classpath.entries.add(new SourceFolder("gen", null)) 
       classpath.entries.add(new SourceFolder("src", null)) 
      } 
     } 
    } 
} 

Nếu bạn muốn để có được dự án của bạn nhanh chóng được sản xuất, đây là plug-in không phù hợp với bạn .

+0

Cảm ơn phản hồi của bạn 0x0me !! Dự án công cụ Android cũng xuất hiện với tôi là "công việc đang tiến hành". Tôi không muốn tích hợp với Eclipse, tôi chỉ muốn một hệ thống xây dựng dòng lệnh cho các dự án Android của mình. Vì vậy, có vẻ như tôi sẽ sử dụng plugin của jvoegele. Nhưng điều làm tôi ngạc nhiên là tại sao đội Android và jvoegele không có kế hoạch hợp nhất hai plugin để chỉ có một plugin gradle cho Android. Điều đó có ý nghĩa như jvoegele đã đặt trong một số nỗ lực tốt trong việc tạo ra các plugin. – Santanu

0

Về lâu dài, tôi chắc chắn sẽ tham gia Dự án Công cụ Android; nó thực sự là công việc trong tiến trình, nhưng nhóm công cụ android đang tích cực làm việc trên nó. Đó là ý định của họ để có điều này như là thay thế cho hệ thống xây dựng kiến ​​hiện tại

1

Plugin Android gốc ban đầu của jvoegele là no longer supported, nhưng khoảng cách trong các tính năng giữa com.android.tools.build plugin bị thu hẹp lại.

Các vấn đề liên quan