2017-12-09 100 views
8

Tại visual Studio 2017 15.4, mọi thứ diễn ra sau khi tôi fine.But upgrated đến 15,5, dự án android Xamarin tôi không thể xây dựng thành công, cho thấy:Build Xamarin dự án android unsucessfully, lỗi XA4212

error XA4212: Type `Android.Support.V4.App.JobIntentService/JobServiceEngineImpl` implements `Android.Runtime.IJavaObject` but does not inherit `Java.Lang.Object` or `Java.Lang.Throwable`. This is not supported. 
+0

Tôi cũng gặp vấn đề tương tự nhưng không thể giải quyết vấn đề. Xamarin.Android trên VS dành cho Mac. Lời khuyên nào khác? – Carlos487

+0

Bạn có thể chỉ cho chúng tôi gói của bạn.config/phụ thuộc của bạn (bao gồm cả phiên bản)? –

Trả lời

0

AndroidErrorOnCustomJavaObject:

Một tài sản boolean xác định liệu các loại có thể thực hiện Android.Runtime.IJavaObject mà không có cũng kế thừa từ Java.Lang.Object hoặc Java.Lang.Throwable:

class BadType : IJavaObject { 
    public IntPtr Handle { 
     get {return IntPtr.Zero;} 
    } 

    public void Dispose() 
    { 
    } 
} 

Khi Đúng, loại như vậy sẽ tạo ra một lỗi XA4212, nếu không một lời cảnh báo XA4212 sẽ được tạo ra.

Hỗ trợ cho thuộc tính này đã được thêm vào Xamarin.Android 8.1.

Thuộc tính này là True theo mặc định.

+0

Vậy chính xác tôi phải làm gì để khắc phục vấn đề này? –

+0

Cảm ơn câu trả lời của bạn. Làm cách nào để khắc phục lỗi này? –

+0

Chỉ cần xóa gói Xamarin.Android.JobDispatcher và sau đó thêm lại. giúp tôi. –

12

Theo dõi câu trả lời @Ironman, điều này xảy ra với Xamarin.Android 8.0, vì vậy tôi đặt thuộc tính là false trong tệp .csproj dự án trong phần sau.

<PropertyGroup> 
    <!-- Other properties --> 
    <AndroidErrorOnCustomJavaObject>false</AndroidErrorOnCustomJavaObject> 
</PropertyGroup> 

Trong hầu hết các trường hợp bạn nên thêm thuộc tính như nó không tồn tại theo mặc định.

Giờ đây, bạn có thể tạo và chạy ứng dụng bình thường, chỉ với cảnh báo.

Hãy coi chừng đó là các nhóm PropertyGroup khác trong tệp .csproj, cụ thể cho điều kiện xây dựng.

Bạn có thể thấy việc xây dựng tài sản và các cấu hình khác trong https://github.com/xamarin/xamarin-android/blob/master/Documentation/build_process.md

+0

Không có thuộc tính "AndroidErrorOnCustomJavaObject" trong tệp .csproj dự án của tôi, vì vậy tôi thêm thuộc tính này và đặt thành false. Dự án có thể được xây dựng và triển khai thành công trên điện thoại của tôi nhưng không thể chạy. –

+0

Cảm ơn lời khuyên @LiuFeng, tôi sẽ sửa câu trả lời. Bạn đã làm sạch dự án? Bạn đã cập nhật gói nuget lên phiên bản mới nhất chưa? – Carlos487

+0

Có, tôi đã làm sạch dự án và tất cả các gói nuget được cập nhật lên phiên bản mới nhất. Tôi mới sử dụng xamarin Android và mong bạn được trợ giúp.Cảm ơn rất nhiều. –

0

tôi phải Inherit Lava.Lang.object và loại bỏ Android.Runtime.IJavaObject để khắc phục vấn đề.

0

Tôi đã sửa lỗi này bằng cách nhấp chuột phải vào giải pháp và chọn Làm sạch. Nếu bạn nhận được thông báo yêu cầu bạn xác minh dự án được chọn để được triển khai trong Trình quản lý cấu hình giải pháp sau khi bạn thử làm sạch, bạn có thể tìm thấy hướng dẫn về cách giải quyết vấn đề đó here.

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