2013-04-25 25 views
5

Hy vọng bạn biết rằng ứng dụng được cài đặt trong thiết bị Android có thể được sao lưu và lưu trữ dưới dạng tệp có thể cài đặt (dưới dạng tệp APK) với sự trợ giúp của các ứng dụng như trình quản lý tệp Astro. Cùng một apk có thể được cài đặt trong các giả lập Android là tốt. Vì vậy, có một cơ hội mà người khác có thể dễ dàng đào sâu vào các tệp của ứng dụng đã cài đặt như DB, tùy chọn được chia sẻ, v.v.Làm cách nào để hạn chế APK không được cài đặt trong Trình mô phỏng/Trình giả lập Android nhưng trong thiết bị thực?

Có cách nào để cho phép cài đặt chỉ trong thiết bị thực và không có trong trình mô phỏng không ???

Tôi biết rằng nếu nó là thiết bị ROOTED, chúng tôi có thể truy cập dữ liệu của ứng dụng tương tự như trong trình mô phỏng. Mặc dù tôi muốn biết liệu chúng tôi có thể hạn chế việc cài đặt gói ứng dụng trong trình mô phỏng hay không.

Cảm ơn trước

Trả lời

1

Hiện tại, bạn không thể ngăn các APK được cài đặt trên trình giả lập. (nó được sử dụng để có thể bằng cách thêm một yêu cầu cảm biến cho ứng dụng, nhưng giả lập ngày hese có thể mô phỏng điều đó quá)

Tuy nhiên, khi chạy, bạn sẽ có thể xác thực nếu ứng dụng của bạn đang chạy trên trình mô phỏng bằng cách sử dụng kiểm tra sau :

if (android.os.Build.MODEL.equals(“google_sdk”)) { 
    // emulator 
} else { 
    //not emulator 
} 

bạn có thể làm việc kiểm tra này trước khi tạo DB và SharedPreference của bạn tập tin vv

+0

Cảm ơn Leon ... một này hoạt động 'nếu (android.os.Build.MODEL.equals (“sdk ”))' – Madhu

3

Không có cách nào để thực hiện việc này. Công việc của trình mô phỏng, sau khi tất cả, là cư xử chính xác như một thiết bị thực càng nhiều càng tốt, bao gồm mô phỏng đầu vào từ máy ảnh, cảm biến GPS, v.v.

Bạn có thể đến một nơi nào đó nếu bạn đặt tệp kê khai của mình trên một số phần cứng không được hỗ trợ bình thường trong trình mô phỏng. Ví dụ:

<uses-feature android:name="android.hardware.sensor.accelerometer" 
       android:required="true" /> 

Nhưng thực sự, nếu bạn muốn ngăn người khác lùng sục trong dữ liệu được lưu trữ của ứng dụng, giải pháp tốt nhất là mã hóa hoặc làm xáo trộn nó.

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