2016-03-11 38 views
10

Tôi gặp sự cố với dự án Android của mình và Gradle 1.5. Tôi không thể biên dịch các phụ thuộc của mình mà tôi đã thêm vào. Hiện tại tôi đang phát triển một ứng dụng Java EE và tôi muốn thực hiện tra cứu EJB từ thiết bị Android của mình đến Wildfly10 đang chạy của tôi.Android Studio - Gradle 1.5 - tùy chọn thư viện số

Tôi biết, thực hiện tra cứu từ thiết bị Android có thể không phải là tùy chọn tốt nhất, dịch vụ web REST sẽ tốt hơn, nhưng đó không phải là điểm ở đây.

Trong dự án của tôi, tôi đã thêm một mô-đun mới, chứa tất cả các thư viện bên ngoài của tôi và tôi đã thêm mô-đun này vào ứng dụng: phụ thuộc vào cấp độ "biên dịch" của tôi. Mọi thứ chỉ hoạt động tốt, cho đến khi tôi muốn thêm jboss-client.jar. Trong dex, anh ta phàn nàn về javax.transaction. *.

Những gì tôi đã làm cho bây giờ

  • thêm multiDexEnabled đúng
  • thêm preDexLibraries sai
  • chơi xung quanh với tất cả các tùy chọn dex khác
  • Tôi cũng đã cố gắng này: Android dx tool
  • này : Android Studio ignore --core-library flag
  • a nd đặt cờ --core-thư viện trong cài đặt Android Studio

Tại sao họ không làm việc

    1. giải pháp: Tôi sửa đổi dx.bat của tôi trong mỗi build-công cụ tôi có .. không có gì thay đổi. Nó chỉ không làm việc
    1. giải pháp: com.android.build.gradle.tasks.Dex không biết (và tôi không có ý tưởng làm thế nào để thêm), không phải là coreLibrary hỗ trợ với gradle 1,5
    1. giải pháp: hoàn toàn bị bỏ qua bởi gradle

Các dự án minSDK là 19 và targetSDK là 23 với buil d-tool 23.0.2 Tôi gọi dx.bat từ dòng lệnh với các tham số tương tự như gradle, tôi chỉ thêm arg -core-arg và nó hoạt động! Nhưng điều đó không giải quyết được vấn đề trong Android Studio và Gradle.

Mọi người có thể giúp tôi không?

CẬP NHẬT: OK, tôi đã xem mã nguồn của com.android.dx.command.Main. Có một lớp bên trong công khai "Các đối số" trong đó chứa (apperently) các đối số có thể được sử dụng, cũng là coreLibrary = false. Bây giờ tôi chỉ cần biết cách sửa đổi nó. Có ai biết không?

Trân trọng, Chris

+0

Bạn đang sử dụng/mở rộng các lớp MultiDexApplication cũng như multiDexEnabled đúng không? –

Trả lời

3

này đã làm việc cho tôi:

dexOptions { 
    preDexLibraries = false 
    additionalParameters =["--core-library"] 
    } 
+1

Bạn đã lưu ngày của tôi !! Tôi vẫn đang gặp vấn đề sau 8 tháng ... –

+0

Vui vì tôi có thể giúp! Tôi đã làm cho nó một tiền thưởng vì tôi đã bị mắc kẹt bản thân mình. May mắn thay tôi tìm thấy điều này bằng tai nạn thuần túy. – Yrlec

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