现象:
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 标签内增加两个属性即可:
<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();
}
}