APKをApp Storeに公開したり、サードパーティのSDKに接続したりする場合、APKの署名概要情報を提供する必要がある場合があります。 DigestアルゴリズムMD5またはSHA-1を使用して、署名の概要を取得できます。独自のAPK署名を取得することに加えて、携帯電話に他のインストールされたAPK署名を取得することもできます。他のAPKのパッケージ名を渡すだけです。
private static final char [] hex_char = {'0'、 '1'、 '2'、 '3'、 '4'、 '5'、 '6'、 '7'、 '8'、 '9'、 'a'、 'b'、 'c'、 'd'、 'e'、 'f'}; / **署名MD5 Digestを取得*/ public String [] SignatureDigest(){pkginfo = mcontext.getPackageManager()。getPackageInfo(mcontext.getPackageName()、packagemanager.get_signatures); int length = pkginfo.signatures.length; string [] digests = new String [length]; for(int i = 0; i <length; ++ i){signature sign = mpkginfo.signatures [i]; try {MessagedGest md5 = mesagedgest.getInstance( "md5"); byte [] digest = md5.digest(sign.tobytearray()); // MD5アルゴリズムダイジェストでダイジェストを取得[i] = tohexstring(digest); } catch(nosuchalgorithmexception e){e.printstacktrace();ダイジェスト[i] = null; }}ダイジェストを返します。 } / **バイト配列を対応するhex string* / private string tohexstring(byte [] rawbytearray){char [] chars = new char [rawbytearray.length* 2]; for(int i = 0; i <rawbytearray.length; ++ i){byte b = rawbytearray [i]; chars [i*2] = hex_char [(b >>> 4&0x0f)]; chars [i*2+1] = hex_char [(b&0x0f)]; } new String(chars)を返します。 }上記はこの記事に関するものです。すべての人の学習に役立つことを願っています。