这里重点介绍的是利用jdk中的两个工具对Android的应用程序包apk文件进行签名。
主要分为3个步骤:第一步生成签名文件,第二步对apk文件签名,第三步验证签名。
以下是执行命令,注意此段命令所生成的签名文件和apk文件在同一目录下。
首先进入dos命令行,运行-->cmd --> cd apk所在的路径(以下简称apk_dir)
第一步生成签名文件
apk_dir>keytool -genkey -keystore hellos.keystore -alias
hello -keyalg RSA -validity 2000
输入keystore密码:
再次输入新密码:
您的名字与姓氏是什么?
[Unknown]: mark
您的组织单位名称是什么?
[Unknown]: markorg
您的组织名称是什么?
[Unknown]: markorg
您所在的城市或区域名称是什么?
[Unknown]: Shanghai
您所在的州或省份名称是什么?
[Unknown]: Shanghai
该单位的两字母国家代码是什么
[Unknown]: cn
CN=mark, OU=markorg, O=markorg, L=Shanghai, ST=Shanghai, C=cn 正确吗?
[否]: Y
输入的主密码
(如果和 keystore 密码相同,按回车):
再次输入新密码:
-----------------------------------------------------------------
以上命令执行完成在apk_dir目录中将生成一个名字为hellos.keystore的签名文件
第二步对apk文件签名
apk_dir>jarsigner -verbose -keystore hellos.keystore -signe
djar hello_sig.apk helloworld.apk hello
输入密钥库的口令短语:
正在添加: META-INF/HELLO.SF
正在添加: META-INF/HELLO.RSA
正在签名: res/layout/linearlayout.xml
正在签名: res/layout/main.xml
正在签名: res/layout/progressbar.xml
正在签名: res/layout/radio.xml
正在签名: res/layout/relativelayout.xml
正在签名: res/layout/tablelayout.xml
正在签名: res/layout/user.xml
正在签名: AndroidManifest.xml
正在签名: resources.arsc
正在签名: res/drawable-hdpi/icon.png
正在签名: res/drawable-ldpi/icon.png
正在签名: res/drawable-mdpi/icon.png
正在签名: classes.dex
第三步验证签名
apk_dir>jarsigner -verify helloworld.apk
jar 已验证。
另外一种方法是通过eclipse差距ADT工具生成,这里也简单介绍一下:
第一步:选中你的android项目,点鼠标右键
Android Tools --> Export Signed Application Packge...
第二步
Project Checks(这里基本不用动) --> Keystore selection 选择 create new keystore
在下面依次填写签名文件的名字(要以.store结尾),密码,重复密码 --> key creation
填写签名详细信息
第三步
给签名后的apk文件输入一个名字,点Finsh完成!
欢迎加入Android技术帮:85506951 共同讨论学习!
分享到:
相关推荐
在Android平台上,应用的发布和更新都需要经过一个关键步骤——签名。这个过程是确保应用程序的完整性和来源可信性的重要...`sign64.exe`和`sign32.exe`工具提供了对APK签名的便捷支持,确保了应用的正确发布和更新。
1.1 APK签名定义:APK是Android应用程序的打包文件,包含了应用的所有代码、资源和元数据。签名是对APK进行数字签名的过程,目的是确保APK未被篡改,并且能证明应用的来源。 1.2 作用: - 验证完整性:通过对比...
- **自签名证书**:Android程序包使用的数字证书可以是自签名的,即由开发者自己创建并签名,不需要权威的数字证书机构进行认证。 - **有效期**:数字证书都有有效期,Android要求所有应用程序数字证书的有效期要...
本文将详细介绍如何使用Java JDK自带的`jarsigner`工具对Android APK进行签名。 #### 二、签名工具介绍 **jarsigner** 是Java Development Kit (JDK) 自带的一个工具,主要用于数字签名JAR文件,包括Android APK...
Android 打包生成 APK 文件是 Android 应用程序开发的最后一步骤,也是将 Android 项目文件转换为可在 Android 设备上运行的 APK 文件的过程。本文将详细介绍如何将 Eclipse Android 项目打包生成 APK 文件,以便...
Windows版本的Android Apk签名工具是Android SDK工具包的一部分,它允许开发者使用密钥对APK进行签名。这个工具通常包括`jarsigner`命令行工具和`zipalign`优化工具,它们对于发布高质量的Android应用至关重要。 三...
本压缩包“APK文件批量一键签名工具包”正是为了解决这个问题,它提供了便捷的方式,对多个APK文件进行快速签名。 首先,我们要理解Android应用签名的重要性。签名过程通过私钥对APK的META-INF文件夹中的CERT.RSA...
R.java文件是Android编译系统自动生成的,它包含了应用程序资源的ID。使用aapt工具可以生成R.java: ``` aapt.exe package -f --m -J GC\gen -S GC\res -I ANDROID_SDK\android.jar -M GC\AndroidManifest.xml `...
在Android操作系统中,APK(Android Package)是应用程序的基本打包格式,它包含了应用程序的代码、资源、元数据以及运行所需的库文件。APK系统签名文件是Android应用开发过程中的一个重要环节,它涉及到应用的安全...
签名apk文件包,通常指的是Android应用的签名过程,这是Android应用程序发布前的必要步骤。SignApk是一款由谷歌开发的工具,用于对APK文件进行签名和优化,确保其安全性和完整性。签名APK是验证应用程序来源、维护...
一种帮助用调试或提供的发布证书(或多个)对多个android应用程序包(apk)进行签名、压缩对齐和验证的工具。它支持v1、v2和v3的android签名方案。使用嵌入式调试密钥库轻松方便地进行调试签名。每次签名后自动验证...
APK 文件是 Android 包文件的缩写,它是 Android 应用程序的安装包。APK 文件包含了应用程序的所有资源、代码和配置文件。用户可以通过安装 APK 文件来安装 Android 应用程序。 Eclipse 生成 APK 文件的步骤 1. ...
这个压缩包文件"对未签名apk文件进行签名.zip"显然是为了指导用户如何对未签名的apk文件进行签名。 首先,我们来了解一下Android应用签名的重要性: 1. **验证开发者身份**:签名提供了开发者身份的证据,让用户...
APK文件是Android应用程序的打包格式,它包含了所有运行应用所需的代码、资源和配置文件。为了确保APK文件未被篡改或来自可信源,开发者通常会对其进行签名并验证其SHA256哈希值。SHA256是一种广泛使用的哈希函数,...
APK签名是Android安全模型的一部分,它通过数字签名技术对APK进行验证,保证应用未经篡改,并且可以追溯到开发者。Android系统在安装APK时会检查签名,如果签名无效或缺失,系统将不允许安装。 批处理脚本是一种...
"Android系统签名APK"是指使用特定的系统证书对APK进行签名,这样可以让应用获得系统的权限,执行一些常规应用无法触及的功能。 APK签名的过程主要包括以下几个步骤: 1. **生成密钥对**:首先,开发者需要使用...
在Android应用开发中,APK文件是应用程序的打包格式,它是Android系统安装和运行应用的必备文件。APK重新签名这个过程通常涉及到安全性和更新流程,对于开发者来说是一项重要的操作。接下来,我们将深入探讨APK签名...
1. **使用` jarsigner `命令**:这是最常用的方法,通过Java的` jarsigner `工具来对APK进行签名。打开命令行,进入APK所在的目录,然后执行如下命令: ``` jarsigner -verbose -keystore <your_key_store> -...
使用代理检查移动应用程序的HTTPS流量可能是弄清楚其工作原理的最简单方法。...使用超级APK签名器对修补的APK文件进行签名 您还可以使用apk-mitm使用Android应用程序包修补应用程序,并且不需要生根手机
在Android平台上,APK文件是应用的安装包...了解和掌握APK签名工具的使用,对于任何Android开发者来说都是必备技能。通过理解这个过程,开发者可以更有效地管理和维护自己的应用程序,确保它们在用户设备上的安全运行。