我需要在android中使用mapview控件,我似乎无法理解如何运行keytool.是用Eclipse安装的吗?我似乎找不到下载链接.
谢谢
有没有办法检索用于签署APK的密钥的签名?我用密钥库中的密钥签署了我的APK.如何以编程方式检索它?
按照手动签署您的应用程序指南,
您可以使用Android SDK和JDK中的标准工具从命令行对您的应用进行签名
我应该有一个apksigner地方可以跑
$ apksigner sign --ks my-release-key.jks my-app.apk
这个可执行文件应该在哪里?文档从未指定我应该在签名指南或apksigner doc 上获取该工具的位置.
我不记得上次手动签署应用程序时遇到此问题.我搜索了所有可以想到的目录,没有运气(包括子目录):
谷歌搜索'apksigner'似乎只是出现了一些非官方的apk签名工具,但没有官方下载.我错过了什么?
运行Android Studio 2.2,Build Tools 24.0.2,JDK 1.8
谢谢
解答:更新到24.0.3解决了它.感谢Alex Klyubin,请回答他的回答.出于某种原因,Build Tools 24.0.2根本没有apksigner.
构建工具,修订版24.0.3(2016年9月)
- 添加了apksigner,一个APK签名工具来取代jarsigner ......
当我尝试使用以下命令生成发布版本时:
cd android && ./gradlew assembleRelease
在目录中生成一个apk文件:
/app/build/outputs/apk/app-release-unsigned.apk
不幸的是,当我尝试使用Android 5在我的手机上安装apk时,我收到以下错误:
解析包时出现问题.
请注意,我正在使用Windows下的本机反应.
我有一个Android项目(使用Android Studio和Gradle)和一个构建此项目的Jenkins CI服务器.
我要做的是生成一个完全未签名的证书.
事实上,当服务器构建的应用程序,它会产生一个-unsigned.apk但似乎这个APK 是由签署developper证书.
事实上,我通过下载apk并运行以下命令检查了这一点(阅读后如何验证Android apk是否与发布证书签名?)
jarsigner -verify -verbose -certs app-unsigned.apk | grep Android
Run Code Online (Sandbox Code Playgroud)
所以输出就像
X.509, CN=Android Debug, O=Android, C=US
Run Code Online (Sandbox Code Playgroud)
(有很多行)
为了它的价值,我构建了运行gradle任务的应用程序:
clean assemble lint
Run Code Online (Sandbox Code Playgroud)
之后,我通过运行来压缩所有的apks
zipalign -f -v 4 *.apk
Run Code Online (Sandbox Code Playgroud)
我的build.gradle不包含任何签名选项
android {
compileSdkVersion 19
buildToolsVersion '19.0.1'
defaultConfig {
minSdkVersion 10
targetSdkVersion 19
}
buildTypes {
debug {
// proguard
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
// ZipAlign
zipAlign false
}
release {
// …Run Code Online (Sandbox Code Playgroud)