2015-06-11 36 views
10

Trong khi tạo một ứng dụng Xamarin Android, sau khi thêm tài liệu tham khảo để kiểm soát Chart Infragistics và dịch vụ Google Play, chúng tôi phải cho phép 'Enable Multi-Dex' tài sản để true (Kể từ khi ứng dụng đạt giới hạn phương pháp dex 65K). Chúng tôi đang nhận được một lỗiLỗi sau Enable Multi-Dex trong Xamarin Android

..\CREATEMULTIDEXMAINDEXCLASSLIST: Error: Expecting class path 
separator ';' before 
'\Android\android-sdk\build-tools\21.1.1\lib\shrinkedAndroid.jar' in 
argument number 8 

Tôi đang sử dụng Xamarin Studio Version 5.9 (xây dựng 431) Xamarin.Android Version: 5.1.0

Xin giúp khắc phục vấn đề này trong Xamarin .

+0

Các bạn đã nhìn qua [tài liệu] (https://developer.android.com/tools/building/multidex.html)? – Andy

+2

Có lỗi tương tự ... Bạn khắc phục điều đó như thế nào? – Angudroid

+0

Tôi tiếp tục đọc đề xuất cài đặt SDK Android tại thư mục không có khoảng trống (ví dụ: C: \ Android), vì thư mục mặc định nằm trong C: \ Program Files (x86) \ Android chứa 2 khoảng trống gây rối các dòng lệnh 'phân định ranh giới về nơi các đối số dòng lệnh kết thúc. Tôi không gặp rắc rối với thư mục mặc định cho đến khi tôi bật hỗ trợ Multi-Dex. – optikos

Trả lời

-3

Tôi đã gặp vấn đề tương tự. Để giải quyết nó, bạn phải đi đến các thuộc tính của dự án của bạn và trong tùy chọn Android Options trong bao bì bạn vô hiệu hóa Multi-Dex. Và trong tùy chọn trình gỡ lỗi, hãy chọn Xamarin hoặc không Microsoft. Tôi nghĩ rằng nó giải quyết vấn đề của bạn.

9

Chúng tôi đã gặp sự cố tương tự trên máy chủ xây dựng của mình và chúng tôi phải di chuyển SDK Android sang đường dẫn không có khoảng trắng, ví dụ: C:\android-sdk\...

Rõ ràng chúng tôi cần cập nhật biến môi trường ANDROID_HOME sang đường dẫn mới và đặt đường dẫn SDK trong Xamarin Studio và Visual Studio.

Điều này đã giải quyết được sự cố cho chúng tôi.

-2

Vui lòng đặt SDK của bạn vào nơi có sẵn Đủ không gian và sau đó đặt tệp jar hoặc dll của bạn ở đó nó sẽ hoạt động.

0

Tôi đang gặp vấn đề này bất cứ khi nào tôi thực hiện cập nhật thay đổi hoặc cài đặt thư mục công cụ xây dựng mới. Vì vậy, tôi quyết định để lưu trữ các giải pháp ở đây cho bản thân mình và cho ai có thể được hưởng lợi từ giải pháp này.

Một số liên kết lỗi trong các giải pháp hoặc nhận xét khác không thể truy cập được từ bất kỳ ai. Lý do cho việc này là sự cố với SDK Android trên máy Windows. Việc sửa chữa sau cần phải được áp dụng cho việc xây dựng máy chủ và phát triển máy:

  1. Việc sửa chữa là điều chỉnh mainDexClasses.bat trong SDK Android. Tìm kiếm tệp này và áp dụng sửa chữa cho tất cả các phiên bản. Điều đầu tiên là tìm thư mục android-sdk và phụ công cụ xây dựng. Đường dẫn của tôi là ví dụ C: \ Users \ YOURUSERNAME \ AppData \ Local \ Android \ android-sdk \ công cụ xây dựng \ kiểm tra bên trong các thư mục có tên với số phiên bản như xx.xx (ví dụ: 24.0.1)
  2. Vì vậy, bên trong lớp kính chính .dơi tập tin xác định vị trí các khối sau đây của văn bản:

nếu sản lượng ĐỊNH NGHĨA goto redirect
gọi "% java_exe%" -Djava.ext.dirs = "% frameworkdir%" com.android.multidex.MainDexListBuilder "% disableKeepAnnotated% " "% tmpJar%" "% params%"
goto afterClassReferenceListBuilder
: chuyển hướng cuộc gọi "% java_exe%" -Djava.ext.dirs = "% frameworkdir%" com.android.multidex.MainDexListBuilder" % disableKeepAnnotated % ""% tmpJar% ""% params% "1>"% output% "
: afterClassReferenceListBuilder

Và thay thế bằng:

SET params =% params: '=%
nếu sản lượng ĐỊNH NGHĨA goto redirect
gọi "% java_exe%" -Djava.ext.dirs = "% frameworkdir%" com. android.multidex.MainDexListBuilder% disableKeepAnnotated% "% tmpJar%" % params%
goto afterClassReferenceListBuilder
: chuyển hướng cuộc gọi "% java_exe%" -Djava.ext.dirs = "% frameworkdir%" com.android.multidex.MainDexListBuilder % disableKeepAnnotated% "% tmpJar%"% params% 1> "% output%"
: afterClassReferenceListBuilder

  1. Làm sạch và xây dựng lại.
+0

Đây không phải là vấn đề của tôi .. Nó có giúp bạn không? –

+0

Có cho đồng nghiệp và tôi làm việc. –

+0

tính năng này không phù hợp với tôi – thumbmunkeys

2

Đối với những người đừng muốn thay đổi thực tế vị trí Android SDK cộng ANDROID_HOME biến env, một liên kết đơn giản là đủ:

mklink /D "C:\android-sdk" "C:\Program Files (x86)\Android\android-sdk" 
Các vấn đề liên quan