2016-11-11 5 views
0

은 내가 이런 식으로 하나의 패키지 (넥서스 6P, 7.1.1)의 결과를 얻을안드로이드 'adb 셸 dumpsys 패키지'해시는 무엇을 의미합니까?

adb shell dumpsys package com.example.testapp.first 

같은 dumpsys 디버깅 도구를 사용하는 경우이에서

Packages: 
    Package [com.example.testapp.first] (2036fd1): 
    userId=10225 
    pkg=Package{42e7a36 com.example.testapp.first} 
    codePath=/data/app/com.example.testapp.first-1 
    resourcePath=/data/app/com.example.testapp.first-1 
    legacyNativeLibraryDir=/data/app/com.example.testapp.first-1/lib 
    primaryCpuAbi=null 
    secondaryCpuAbi=null 
    versionCode=1 minSdk=21 targetSdk=24 
    versionName=1.0 
    splits=[base] 
    apkSigningVersion=1 
    applicationInfo=ApplicationInfo{29cb2a4 com.example.testapp.first} 
    flags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ] 
    privateFlags=[ RESIZEABLE_ACTIVITIES ] 
    dataDir=/data/user/0/com.example.testapp.first 
    supportsScreens=[small, medium, large, xlarge, resizeable, anyDensity] 
    timeStamp=2016-11-03 01:12:08 
    firstInstallTime=2016-11-03 01:12:09 
    lastUpdateTime=2016-11-03 01:12:09 
    signatures=PackageSignatures{9fe380d [53ea108d]} 
    installPermissionsFixed=true installStatus=1 
    pkgFlags=[ HAS_CODE ALLOW_CLEAR_USER_DATA ALLOW_BACKUP ] 
    User 0: ceDataInode=474317 installed=true hidden=false suspended=false stopped=true notLaunched=true enabled=0 
     runtime permissions: 

을 여러 찾을 수 있습니다 로그인 해시 (또는 해시 적어도 첫 번째 X의 16 진수)와 같은 : 나는 그들이 생성하는 방법에 대한 모든 참조를 찾을 수 없습니다

Package [com.example.testapp.first] (2036fd1): 
pkg=Package{42e7a36 com.example.testapp.first} 
applicationInfo=ApplicationInfo{29cb2a4 com.example.testapp.first} 
signatures=PackageSignatures{9fe380d [53ea108d]} 

하지만. 두 개의 서로 다른 기기에 설치된 동일한 앱 은 하나의 해시 인과 일치하지 않습니다. 내 원래 질문은 생각 : 내가 dumpsys 로그에 표시된 해시 일치해야합니다 APK 함께 체크섬/해시를 생성 할 수 있습니까? APK의 md5sum 또는 sha1sum과 일치하지 않는 것으로 보입니다.

답변

1

모든 해시는 Integer.toHexString(System.identityHashCode(object))으로 생성됩니다. 그러나 일치시키려는 해시가있는 객체에는 apk 콘텐츠만으로 제어되지 않는 여러 필드 (예 : 다양한 타임 스탬프)가 포함되어 있습니다. 따라서 설치할 때 원하는 해시 값을 생성하는 apk를 만들 수 없습니다.