我的调试版本未在某些早期设备上安装。在安装过程中,Android会记录错误,例如:
java.lang.SecurityException:META-INF / CERT.SF具有无效的摘要......
我很确定这与在签署调试APK时使用SHA1与SHA256有关。它安装在Android 5及更高版本上,但不安装在Android 4.1上。我的发布版本在两者上构建安装,我指定使用V1和V2签名。
最近,当我更新我的开发环境时,这个问题就开始发生了。我意识到v2签名已经存在了一段时间,但显然有些东西已经过去了#34;在我之前的更新中,现在才真正使用v2签名。
这是来自早期版本的CERT.SF的几行,安装在Android 4.1上:
Signature-Version: 1.0
X-Android-APK-Signed: 2
SHA1-Digest-Manifest: 5uKyIdhWpwJ5DqL2eY6yywRve60=
Created-By: 1.0 (Android)
Name: res/drawable-hdpi-v4/task_priority_full_mask.png
SHA1-Digest: mgbQEI7yIlWN/S81eXILs9yQsx0=
Name: res/layout/intrinsic_calendar_item.xml
SHA1-Digest: fDHWqyZu4G7746oUndD2w3+SEpU=
Name: res/drawable-hdpi-v4/call_outgoing.png
SHA1-Digest: qjFodzSd/IiusVuP/fmJp8AMwpM=
而且,这里有新的CERT.SF的几行,无法安装:
Signature-Version: 1.0
X-Android-APK-Signed: 2
SHA-256-Digest-Manifest: oYH6iW7P/SZv6wI2m3sLn/GAfEtKxfO8gok/TVB6n1Y=
Created-By: 1.0 (Android)
Name: res/drawable-hdpi-v4/task_priority_full_mask.png
SHA-256-Digest: LfLVegeMx7B2i8CF5ctrZ+Ab2FHqlpxVPJgsgojbp6A=
Name: res/layout/intrinsic_calendar_item.xml
SHA-256-Digest: 5hrCEplQJgsiRbbJssNvd8faCTkHGAmAptub/ZPHPdk=
Name: res/drawable-hdpi-v4/call_outgoing.png
SHA-256-Digest: EXwgtHDkKbPUezjL9rOuuButu4w7E6e5r9YMTGxQhh8=
请注意,较新版本具有SHA-256摘要,而较旧版本具有SHA1摘要。