獲取apk文件的簽名信息(未安裝, 只是一個apk文件)

jopen 9年前發布 | 1K 次閱讀 Java Android

    /**

 * get signature of an apk file 
 * this method will execute quit a long time, so it is suitable to call it in sub thread 
 * @param context 
 * @param apkFilePath 
 * @return signature , null if there is no signature , or apkFilePath is wrong 
 */  
public static String getSignatureOfApk(Context context, String apkFilePath){  
    Log.i(TAG, "SignatureUtils.getSignatureOfApk");  

    if (TextUtils.isEmpty(apkFilePath)) return null;  

    PackageManager pm = context.getPackageManager();  


    PackageInfo pi = pm.getPackageArchiveInfo(apkFilePath, PackageManager.GET_SIGNATURES);  
    Signature[] signatures = pi.signatures;  

    if(signatures != null && signatures.length > 0){  

        String signature =  signatures[0].toCharsString();  
        Log.i(TAG, "Signature of " + apkFilePath + " is : " + signature);  

        return  signature;  
    }  


    return null;  
}  </pre> 


 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!