2013-04-25 108 views
5

希望你知道安裝在android設備上的應用程序可以備份和存儲爲一個可安裝的文件(作爲APK文件)與應用程序,如Astro文件管理器的幫助。同樣的apk也可以安裝在android模擬器中。所以有一個機會,其他人可以輕鬆地挖掘已安裝的應用程序的文件,如數據庫,共享首選項等。如何限制APK未安裝在Android模擬器/模擬器中,但在真實設備中?

有沒有什麼辦法可以只安裝在真實的設備上,而不是在模擬器中?

我知道如果它是ROOTED設備,我們可以像在模擬器中一樣訪問應用程序的數據。即使我想知道我們是否可以限制在模擬器中安裝apk。

在此先感謝

回答

1

目前無法阻止APK安裝在模擬器上。 (以前可以通過爲應用程序添加傳感器要求,但這些天仿真器也可以模擬)

但是,在運行時,您應該能夠驗證您的應用程序是否正在仿真器上運行,使用以下檢查:

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

您創建DB和SharedPreference文件等

+0

感謝萊昂... 這一個工程'如果(android.os.Build.MODEL.equals(「SDK之前,你可以做這種檢查「))' – Madhu 2013-04-25 11:50:01

3

有沒有這樣做的一般方法。畢竟,模擬器的工作是儘可能表現得像一個真實的設備,包括模擬來自相機,GPS傳感器等的輸入。

如果你設置你的清單有一個依賴關係在仿真器中通常不支持的某些硬件上。例如:

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

不過說真的,如果你不想讓別人在你的應用程序的存儲數據閒逛,最好的解決方法是加密和混淆。

相關問題