在模拟器或设备上执行Android?

5

有没有办法知道我的应用程序是在模拟器上运行还是在设备上运行?

2个回答

4
我正在使用这段代码片段,它可以在Intel和ARM模拟器上运行:
if (Build.MODEL.contains("google_sdk") ||
    Build.MODEL.contains("Emulator") ||
    Build.MODEL.contains("Android SDK")) {
  RunsInEmulator = true;
}

3
Secure.getString(getContentResolver(), Secure.ANDROID_ID); 

(其中Secureandroid.provider.Settings.Secure)

该值在模拟器上将为null,在设备上为非null


1
它无法在运行2.2的模拟器中工作。它返回一个ID。 - Arutha
1
@Arutha:是的,这是Android 2.2的新行为。 - CommonsWare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接