안 드 로 이 드 장치 SN 가 져 오기 안 드 로 이 드 장치 의 유일한 코드 가 져 오기, Cpu 번호, Mac 주소

1788 단어 androidSN
전에 글 을 보 내 서 가 져 온 적 이 있 습 니 다. 
http://blog.csdn.net/hpccn/article/details/7872141
안 드 로 이 드 장치 의 유일한 코드 가 져 오기, Cpu 번호, Mac 주소
이 방법 을 사용 하면 서 불완전한 점 을 발견 했다.
--------------------------------------
새로운 방법:
명령 행, adb device 사용 중 
adb devices List of devices attached 0288504643dfbxxx    device
^__이 번 호 는 장치 의 SN 번호 로 더 적합 합 니 다. 이 값 을 어떻게 가 져 옵 니까?
쓰다  adb get - serialno 에서 이 값 을 가 져 올 수 있 습 니 다.
$adb get-serialno
0288504643dfbxxx
한 걸음 한 걸음 찾다
$adb shell
$getprop
.... ...
[ro.boot.serialno]: [0288504643dfbxxx]
....
[ro.serialno]: [0288504643dfbxxx]
시스템 속성 중 이 두 가지 값 이 같 습 니 다. 여러 대의 장 치 를 테스트 한 후 이 값 은 모두 같 습 니 다.
자바 로 가 져 오기
android. os. SystemProperties. get () 에서 시스템 속성 을 읽 는 방법 은 시스템 이 숨겨 져 있어 서 직접 사용 할 수 없습니다.
우 리 는 자바 반 사 를 사용 할 수 있다.
	static Method systemProperties_get = null;

	static String getAndroidOsSystemProperties(String key) {
		String ret;
			try {
				systemProperties_get = Class.forName("android.os.SystemProperties").getMethod("get", String.class);
				if ((ret = (String) systemProperties_get.invoke(null, key)) != null)
					return ret;
			} catch (Exception e) {
				e.printStackTrace();
				return null;
			}

		return "";
	}

테스트 코드 는 다음 과 같 습 니 다:
실행 후, 우리 가 읽 은 장치 SN 번 호 를 볼 수 있 습 니 다. 시스템 은 출하 설정 을 복원 하고 브러시 는 모두 이 SN 을 바 꾸 지 않 았 습 니 다.
		String []propertys = {"ro.boot.serialno", "ro.serialno"}; 
		for (String key : propertys){
//			String v = android.os.SystemProperties.get(key);
			String v = getAndroidOsSystemProperties(key);
			Log.e("", "get " + key + " : " + v);
		}

------------

좋은 웹페이지 즐겨찾기