데스크톱 서버에 라이센스 키가 생성되고 Android 기기에서 인증 코드가 실행되는 Android 앱용 라이센스 관리자를 만드는 동안 멈추었습니다. 데스크톱에서 실행될 때 인증 코드는 원하는 결과를 생성하지만 동일한 코드는 Android에서 다른 결과를 생성합니다.Oracle JRE 및 Dalvik JVM의 결과가 다릅니다
나는 문제를 디버그하여 결과가 찍히는 지점에 도달했습니다! 결과가 나오는 오라클 JDK에
byte[] bytes = {-88, 50, -29, 114, 51, 88, 38, -52, 114, 91, -23, -55, 124, 37, -90, -49, 36, -110, -67, -59, -33, -75, 85, -72, -109, 25, -54, 89, 6, 35, -50, -11, -87, -22, 33, -2, 55, -30, 75, -36, -40, -29, -103, 110, 46, -100, -68, 101, -105, 62, 53, -20, -20, -21, -118, -72, -27, 32, 59, 127, 15, -117, 6, 102};
System.out.println(new String(bytes, "UTF-8").hashCode());
-24892055
수 있지만 안드로이드 전화에 결과가하기 :
-186036018
여기
그 차이를 설명 할 수있는 코드입니다
도움이 될 것입니다.
Google의 라이센스 확인 라이브러리를 사용하지 않는 이유는 무엇입니까? (http://developer.android.com/guide/publishing/licensing.html) – JesusFreke