我開發了一個android應用程序,我想把它給測試人員測試,所以我想爲每個測試人員做幾個特定的構建,可以在特定的測試設備上運行,而不是在任何設備上運行。如何構建特定設備的Android應用程序?
原因是當我給測試人員構建我的應用程序時,應用程序只能在他的設備上運行而不是其他人,所以無法在任何其他設備上發佈和運行!
如何保證測試人員不會發布您的應用程序?
我開發了一個android應用程序,我想把它給測試人員測試,所以我想爲每個測試人員做幾個特定的構建,可以在特定的測試設備上運行,而不是在任何設備上運行。如何構建特定設備的Android應用程序?
原因是當我給測試人員構建我的應用程序時,應用程序只能在他的設備上運行而不是其他人,所以無法在任何其他設備上發佈和運行!
如何保證測試人員不會發布您的應用程序?
你說的是特定的設備型號,而不是特定的手機,比如我的口袋裏有三星Galaxy 3或我辦公桌上的Nexus 7,與所有其他三星Galaxy 3和Nexus 7設備,是嗎?
嘗試使用:
android.os.Build.MODEL;
在您的活動
。此字段將爲您提供手機的型號,如果手機型號錯誤,您可以分支運行或不運行您的代碼。
感謝MarsAtomic,但我想特定的設備不具體的模型! – 2013-04-22 04:30:05
要做到這一點,你可以從測試儀和在應用程序中查看IMEI號碼獲取設備的IMEI號碼。
這當然有侷限性。它將只需要GSM手機(您可以使用MAC地址代替)。
可獲取設備的IMEI
TelephonyManager manager = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = manager.getDeviceId()
您將需要READ_PHONE_STATE
許可
,你可以做以下
所有這些預計對每個設備都是唯一的。
所以每次應用程序運行時,你檢查的數量和比賽。
您可以在您的應用程序中設置一種'定時炸彈',這樣它就不會在給定日期後運行。這樣,您就不必擔心應用程序會被其他人發佈或分發。 – iTurki 2013-04-22 04:23:53
你想要DRM,這不是一個簡單的修復,不能在StackExchange的幾行代碼中描述。解決問題的最簡單方法是找到值得信賴的測試人員,因爲它足夠簡單,可以反編譯您的字節代碼,剝離出您可能會自行評估的任何保護措施,並無論如何發佈代碼。簡而言之,您不能保證測試人員不會發布您的應用程序。 – MarsAtomic 2013-04-22 16:05:16