2013-07-20 19 views
9

Gần đây tôi đang cố gắng tạo một số ứng dụng Android với Android Studio.Tôi có thể sử dụng kết hợp mã Scala, Groovy và Java bằng Gradle như thế nào?

Hỗ trợ plugin Gradle tích hợp có sử dụng kết hợp mã Java, Groovy và Scala để tạo ứng dụng Android không?

Nhìn vào wiki gradle-android, tôi thấy rằng sourceSet không hoạt động với Android Studio (gặp lỗi "R được xác định lại").

Tôi đang sử dụng cách thức Gradle Wrapper mặc định trong Android Studio.

Làm cách nào để sử dụng kết hợp mã Scala, Groovy và Java trong dự án Android Studio của tôi?

My Project Screenshot here

Tôi đã cố gắng để thêm một số chỉ thị để build.gradle (như sử dụng apply pluginsourceSets), nhưng họ dường như không làm việc.

Tôi nghĩ thay đổi một số mã như homeactivity.java vào homeactivity.groovy có thể làm việc, nhưng tôi đã không tìm thấy một cách để làm điều này được nêu ra.

Khi tôi bỏ ghi chú khối sourceSets, tôi nhận được thông báo lỗi này:

Gradle: A problem occurred evaluating project ':AgricolaScore'. 
> Could not find method groovy() for arguments [build_3cmthd[email protected]5f565e7] on source set main. 
+0

@dmahapatro, tôi có thể làm gì để biến câu hỏi này 'bị giữ' thành bình thường ?? – Gohan

+3

Bạn có thể chỉnh sửa câu hỏi để giải quyết mối quan ngại rằng chủ yếu dựa trên ý kiến. Để được trợ giúp thêm về "tạm dừng" có nghĩa là gì, bạn nên xem trang có liên quan [this] (http://stackoverflow.com/help/closed-questions) từ trung tâm trợ giúp (có thể truy cập bằng cách nhấp vào "trợ giúp "trong thanh trên cùng). –

+0

Anh ấy đã chỉnh sửa câu hỏi; giờ thì sao? Phải thừa nhận rằng, các chỉnh sửa khá nhỏ. – tripleee

Trả lời

4

Vâng, điều này có thể không phải là câu trả lời bạn đang tìm kiếm, nhưng AFAIK, các porting của Groovy cho Android đã được thử nghiệm hai lần và không bao giờ hoàn thành. Có một số GSoC proposition vào mùa hè này, nhưng tôi không biết liệu nó có được nhận hay không. Điều đó có nghĩa là không có mã groovy nào có thể chạy trên máy ảo Dalvik, và tất nhiên là gradle không thể làm gì được.

Tôi không biết nhiều về Scala, nhưng có vẻ như mã Scala có thể được biên dịch để chạy trên Dalvik, vì vậy bạn sẽ có nhiều may mắn hơn ở đó. Hãy xem this, ví dụ: để sử dụng Công cụ xây dựng Scala để xây dựng cho Android.

CHỈNH SỬA: Điều này cần phải được chỉnh sửa vì mọi thứ đã thay đổi gần đây: gr8conf cuối cùng đã được giới thiệu grooid bởi Cédric Champeau, cho phép chạy mã groovy trên Android. Yay!

+0

Có vẻ như tác phẩm của ông Champeau được truy cập tốt nhất với plugin studio android được cập nhật gần đây https://github.com/groovy/groovy-android-gradle-plugin – AnneTheAgile

2

Về Groovy, câu trả lời từ Sensei có vẻ tốt với tôi.

Về Scala bạn thực sự cần phải thay thế Gradle bằng SBT để quản lý sự phụ thuộc.

Sau đó, bạn cần một plugin.

Tôi đã thử hai trong số họ:

thứ hai có một tuto tốt đẹp, nhưng không hoạt động rất tốt với Intellij Idea.

Vì vậy, tôi đang sử dụng cái đầu tiên. Nó khá dễ thiết lập (đọc ...đọc cho tôi) và sử dụng Java + Scala trong cùng một dự án không hàm ý bất kỳ cấu hình đặc biệt nào. Cam kết cuối cùng là 6 ngày tuổi (tính đến hôm nay, 11/11/13), và dự án là hai năm nên tôi tin rằng nó sẽ không chết sớm.

Tôi biết có một plugin thứ ba để hỗ trợ Android trên SBT nhưng theo như tôi biết, nhà phát triển bị ngừng.

Hy vọng nó sẽ giúp bạn.

Kính trọng

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