Build.HARDWARE = "ranchu"
ผมพบว่าจำลองใหม่
การอ้างอิง: https://groups.google.com/forum/#!topic/android-emulator-dev/dltBnUW_HzU
และฉันก็พบวิธีที่เป็นทางการของ Android เพื่อตรวจสอบว่าอีมูเลเตอร์หรือไม่ฉันคิดว่ามันเป็นข้อมูลอ้างอิงที่ดีสำหรับเรา
ตั้งแต่ Android API ระดับ 23 [Android 6.0]
package com.android.internal.util;
/**
* @hide
*/
public class ScreenShapeHelper {
private static final boolean IS_EMULATOR = Build.HARDWARE.contains("goldfish");
}
เราต้องScreenShapeHelper.IS_EMULATOR
ตรวจสอบว่าอีมูเลเตอร์
ตั้งแต่ Android API ระดับ 24 [Android 7.0]
package android.os;
/**
* Information about the current build, extracted from system properties.
*/
public class Build {
/**
* Whether this build was for an emulator device.
* @hide
*/
public static final boolean IS_EMULATOR = getString("ro.kernel.qemu").equals("1");
}
เรามี Build.IS_EMULATOR
ตรวจสอบว่าอีมูเลเตอร์
วิธีที่เจ้าหน้าที่ตรวจสอบว่าอีมูเลเตอร์ไม่ใช่ของใหม่และอาจไม่พอคำตอบข้างต้นก็กล่าวถึงเช่นกัน
แต่นี่อาจแสดงให้เราเห็นว่าเจ้าหน้าที่จะให้วิธีการอย่างเป็นทางการเพื่อตรวจสอบว่าโปรแกรมจำลองหรือไม่
ดังที่ได้กล่าวมาแล้วข้างต้นตอนนี้เราสามารถใช้สองวิธีในการตรวจสอบว่าอีมูเลเตอร์
วิธีเข้าถึงcom.android.internal
แพ็คเกจและ@hide
และรอ SDK เปิดอย่างเป็นทางการ
android.os.Build
อาจมีลักษณะที่