Android jar使用有效密钥库未签名,需要SHA1证书吗?
我正在尝试为我的应用程序生成已签名的APK。我正在使用androidstudio生成发布APK:build>generate-signed-APK。然后,我会得到一个弹出窗口,显示我的密钥存储、别名和密码。这个过程在过去一直有效,但我怀疑,在最近升级了工具和其他支持之后,它停止了工作。我该怎么做才能让Android Studio生成带有有效签名的已签名APK 当我使用jarsigner检查Java 1.8版本中的APK时,我得到以下消息: jar没有签名。(签名缺失或不可解析) 如果我使用jarsigner对应用程序进行签名,它会安装在大多数设备上,但不会安装在运行Android 4.1的设备上。我使用的命令是:Android jar使用有效密钥库未签名,需要SHA1证书吗?,android,android-studio,cryptography,digital-signature,Android,Android Studio,Cryptography,Digital Signature,我正在尝试为我的应用程序生成已签名的APK。我正在使用androidstudio生成发布APK:build>generate-signed-APK。然后,我会得到一个弹出窗口,显示我的密钥存储、别名和密码。这个过程在过去一直有效,但我怀疑,在最近升级了工具和其他支持之后,它停止了工作。我该怎么做才能让Android Studio生成带有有效签名的已签名APK 当我使用jarsigner检查Java 1.8版本中的APK时,我得到以下消息: jar没有签名。(签名缺失或不可解析) 如果我使用jar
jarsigner -verbose -keystore "...path...\perinote-release.keystore" app-release.apk perinote
此外,如果我向jarsigner选项添加:
-digestalg SHA1-带RSA的sigalg MD5
它被安卓4.1设备所接受。我在另一篇文章中发现了这些选项,表明在某种程度上,加密从SHA1更改为SHA2
这是“应用程序”的build.gradle
如何配置Android Studio以使用SHA1,使我的应用程序继续在Android 4.1设备上工作?或者我还应该做些什么
编辑:我意识到我应该切换到SHA256。但我仍然需要一种方法让我的应用程序在安卓4.1上运行。我需要生成两个版本并发布它们吗?要获得两个签名版本,只需选中第二个生成签名APK对话框底部的V1和V2复选框
更新AS后,我没有注意到此对话框发生了更改,并立即消失。请尝试始终使用顶级标记(添加了android和加密),并确保您的标记正确(签名应为数字签名),否则您的Q将被忽略。谢谢。这些都是很好的建议。
apply plugin: 'com.android.application'
android {
signingConfigs {
release {
keyAlias 'perinote'
storeFile file('...path.../perinote-release.keystore')
}
}
compileSdkVersion 24
buildToolsVersion "25.0.0"
compileOptions.encoding = 'UTF-8'
defaultConfig {
applicationId "com.perinote.camera"
minSdkVersion 15
targetSdkVersion 24
renderscriptTargetApi 20
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
signingConfig signingConfigs.release
}
}
lintOptions {
checkReleaseBuilds false
}
}
dependencies {
compile 'com.android.support:support-v4:24.0.0'
testCompile 'junit:junit:4.12'
}