Android 签名打包出现的错误的解决方法以及代码中获取应用签名信息方法

来源:互联网 发布:restful框架 php 编辑:程序博客网 时间:2024/06/11 03:05

现象:
Android导出APK包时出现,编译调试时不会出现。
错误信息:

Error:(16) Error: "baidutieba_client_inavailable" is not translated in "en" (English) [MissingTranslation]Error:(63) Error: "baidutieba" is not translated in "en" (English) [MissingTranslation]Error:(67) Error: "share_to_baidutieba" is not translated in "en" (English) [MissingTranslation]

错误截图:
这里写图片描述
解决办法:
resources 标签内增加两个属性即可:

<?xml version="1.0" encoding="utf-8" ?>  <resources xmlns:tools="http://schemas.android.com/tools"    tools:ignore="MissingTranslation">  </resources> 
import android.content.pm.PackageInfo;import android.content.pm.PackageManager;import android.content.pm.Signature;import java.security.cert.CertificateFactory;import java.security.cert.X509Certificate; public void getSingInfo() {        try {            PackageInfo packageInfo = getPackageManager().getPackageInfo(                    "com.atguigu.p2p", PackageManager.GET_SIGNATURES);            Signature[] signs = packageInfo.signatures;            Signature sign = signs[0];            parseSignature(sign.toByteArray());        } catch (Exception e) {            e.printStackTrace();        }    }    public void parseSignature(byte[] signature) {        try {            CertificateFactory certFactory = CertificateFactory                    .getInstance("X.509");            X509Certificate cert = (X509Certificate) certFactory                    .generateCertificate(new ByteArrayInputStream(signature));            String pubKey = cert.getPublicKey().toString();            String signNumber = cert.getSerialNumber().toString();            Log.e("TAG", "pubKey:" + pubKey);            Log.e("TAG", "signNumber:" + signNumber);        } catch (Exception e) {            e.printStackTrace();        }    }
阅读全文
0 0
原创粉丝点击