Tôi có một ứng dụng gọi điện đến dịch vụ web qua https. Khi tôi chạy apk trên điện thoại, nó hoạt động rất tốt. Tuy nhiên, trong giả lập, tất cả các POST
yêu cầu trên SSL
thất bại với:android - Các sự cố SSL trong trình mô phỏng android studio, hoạt động tốt trên điện thoại
Read error: ssl=0xb402be00: Failure in SSL library, usually a protocol error error:100c50bf:SSL routines:ssl3_read_bytes:NO_RENEGOTIATION (external/boringssl/src/ssl/s3_pkt.c:852 0xabf7fcd7:0x00000000)
Trong bản ghi truy cập vào máy chủ của chúng tôi, nó báo cáo một 403 (Forbidden) bất cứ khi nào giả lập cố gắng nhấn webservice, ràng vì giả lập không phải là lắc tay đúng cách với máy chủ của chúng tôi. Có một loạt các dòng như thế này trong nhật ký lỗi của apache
[Thu Aug 20 12:21:21 2015] [error] [client xxx.xxx.xxx.xxx] Re-negotiation handshake failed: Not accepted by client!?
Apache thực sự đã thêm "!?" do đó, nó trông giống như một lỗi nghiêm trọng bất ngờ.
Trong IDE của tôi, tôi đã đánh dấu tùy chọn cho "Chấp nhận chứng chỉ không đáng tin cậy tự động" nhưng điều đó không tạo sự khác biệt.
Tôi đã thấy các giải pháp trên web để khắc phục các sự cố SSL khác nhau trong Android, tuy nhiên, tất cả chúng dường như là chính điện thoại gặp sự cố và yêu cầu sửa đổi mã. Vì nó hoạt động tốt trên điện thoại, có vẻ như đây là sự cố Android Studio và tôi có thể sửa lỗi này bằng cài đặt cấu hình. Hoặc có lẽ tôi phải làm một cái gì đó trong một apache?
Dòng dưới cùng: Làm cách nào để ứng dụng của tôi có thể nói chuyện với dịch vụ web SSL trong trình mô phỏng trong Android Studio?
Sử dụng Studio 1.3.1, Java 1.7.0_65,
compileSdkVersion 21
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.bla.bla"
minSdkVersion 14
targetSdkVersion 19
multiDexEnabled true
versionCode 12
versionName '1.2.0.8'
Bạn nên cấu hình giả lập chính nó, cấu hình IDE không có gì để làm với các vấn đề. Bạn có thể truy cập các trang web https khác không? Bạn có ngày và giờ được đặt chính xác trên trình giả lập không? Bạn đã thử dùng Genymotion chưa? – Dmide
nó sẽ không khởi động trong Genymotion, tôi nhận được '" Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY] "' ngày tháng và thời gian là chính xác. Tôi không biết nếu nó có thể truy cập các trang web khác bởi vì nó không có bất kỳ lý do gì, tôi không chắc chắn làm thế nào tôi sẽ làm việc đó vào mã hiện có. – chiliNUT
Nếu mục tiêu của bạn là làm cho nó hoạt động trên bất kỳ trình mô phỏng nào, không chính xác theo mặc định của google, hãy làm theo chủ đề này http://stackoverflow.com/questions/20121883/how-to-install-google-play-services-in-a -genymotion-vm-with-no-kéo-và-thả-su và thử lại.Điều này sẽ khắc phục lỗi FAILED_MISSING_SHARED_LIBRARY. – Dmide