2012-10-24 43 views
6

Tôi phát hiện thấy ứng dụng Mono dành cho Android của tôi bị treo trên mỗi lần khởi động sau khi người dùng truy cập Cài đặt-> Ứng dụng-> MyApp và chọn "Xóa dữ liệu". Tôi đã tạo một dự án mới với ứng dụng Mono cho Android "Hello World", và ứng dụng này thể hiện chính xác hành vi tương tự, điều này sẽ giúp tôi giả định điều này xảy ra ở đâu đó trong ngăn cách đơn độc khỏi tầm kiểm soát của tôi. Nếu tôi kiểm tra với adb logcat, đây là các dòng có liên quan mà tôi có thể tìm thấy:Mono cho Android App gặp sự cố khi bắt đầu sau khi xóa dữ liệu trong cài đặt ứng dụng

I/ActivityManager( 185): START {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=Test_App.Test_App/test_app.Activity1} from pid 386 
D/dalvikvm(18358): Late-enabling CheckJNI 
I/dalvikvm(18358): Turning on JNI app bug workarounds for target SDK version 8... 
I/ActivityManager( 185): Start proc Test_App.Test_App for activity Test_App.Test_App/test_app.Activity1: pid=18358 uid=10074 gids={3003} 
D/dalvikvm( 119): GC_EXPLICIT freed 37K, 3% free 12553K/12867K, paused 1ms+2ms 
I/ActivityThread(18358): Pub Test_App.Test_App.mono.MonoRuntimeProvider.__mono_init__: mono.MonoRuntimeProvider 
D/dalvikvm(18358): Trying to load lib /data/data/Test_App.Test_App/lib/libmonodroid.so 0x4168ba48 
D/dalvikvm(18358): Added shared lib /data/data/Test_App.Test_App/lib/libmonodroid.so 0x4168ba48 
D/dalvikvm( 119): GC_EXPLICIT freed <1K, 3% free 12553K/12867K, paused 2ms+2ms 
E/mono (18358): WARNING: The runtime version supported by this application is unavailable. 
E/mono (18358): Using default runtime: v2.0.50727 
D/OpenGLRenderer( 386): Flushing caches (mode 1) 
D/dalvikvm( 119): GC_EXPLICIT freed <1K, 3% free 12553K/12867K, paused 1ms+1ms 
I/mono (18358): Stacktrace: 
I/mono (18358): 
D/OpenGLRenderer( 386): Flushing caches (mode 0) 
D/Zygote ( 119): Process 18358 terminated by signal (11) 
I/ActivityManager( 185): Process Test_App.Test_App (pid 18358) has died. 
W/ActivityManager( 185): Force removing ActivityRecord{41a85018 Test_App.Test_App/test_app.Activity1}: app died, no saved state 

Có ai có cùng hành vi trong ứng dụng đơn của mình không? Có sửa chữa không?

Trả lời

6

Được quản lý để giải quyết câu hỏi của riêng tôi. Theo cài đặt dự án, tôi đã phải đi đến "Mono cho Android Build" tab, chọn cấu hình phát hành và làm cho linker "Liên kết tất cả các hội đồng" thay vì "Link SDK hội đồng chỉ". Sửa lỗi này bằng thử và sai, nhưng bạn có thể làm gì ..

1

Một giải pháp khác mà tôi tìm thấy là vô hiệu hóa việc sử dụng "Thời gian chạy chung" khi xây dựng ứng dụng.

Trong Visual Studio này là trên các thiết lập dự án Android của bạn, Android Options> tab Bao bì> properties Bao bì> Sử dụng Shared Runtime (untick)

Nó làm cho kết quả APK lớn hơn một chút, nhưng có nghĩa là người dùng có thể làm "Clear Dữ liệu "trên ứng dụng của bạn, khởi động lại ứng dụng và nó sẽ chạy mà không bị lỗi!

0

Sử dụng Visual Studio 2015 với ứng dụng Biểu mẫu Xamarin trên LG G3 Vigor làm thiết bị thử nghiệm. Mọi thứ hoạt động tốt trong nhiều tháng. Tôi đã làm thử nghiệm cho tài liệu hiệu suất vì vậy tôi quyết định làm Clear Cache trên ứng dụng của tôi trong Setting -> General -> Apps on the Vigor. Sau đó đã được thực hiện Vigor sẽ gây ra một lỗi thời gian chạy khi tôi sẽ triển khai ứng dụng của tôi vào thiết bị. Ứng dụng sẽ hoạt động tốt trên các thiết bị khác, trình mô phỏng và trình mô phỏng iOS.

Tôi đã thử các đề xuất khác được liệt kê trên bài đăng này. Tôi đã kết thúc khôi phục cài đặt gốc trên thiết bị. Sau khi mở khóa chế độ nhà phát triển và kết nối lại với máy tính của tôi, bây giờ nó đã được biên dịch và chạy lại ứng dụng.

Tôi nghĩ một người có thể thử thu hồi ủy quyền gỡ lỗi usb và cấp lại quyền tác giả nếu họ không muốn khôi phục cài đặt gốc, để xem liệu mọi thứ có hoạt động trở lại hay không. Điều này có thể tạo ra một đường dẫn kết nối khác nhau giữa VS2015 và thiết bị đặt lại bất kỳ vấn đề nào do bộ nhớ cache đặt lại. Nếu mọi thứ khác không thành công, khôi phục cài đặt gốc đã làm cho tôi. Hy vọng nó sẽ giúp trong trường hợp điều này xảy ra với ai đó.

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