[前言]
我们平时在开发android应用程序的过程中,一般都是利用eclipse集成开发环境,所以生成的apk有debug版本的签名权限,但是如果我们想要发布一款应用程序,并且希望在真机上运行的话,就需要进行签名。
[工具]
Java开发环境中的Keytool 和 Jarsigner,注意配置好环境路径,输入命令后有如下提示信息:
C:\Documents and Settings\F1034740\桌面\博客文章>Keytool
keytool 用法:
-certreq [-v] [-protected]
[-alias <別名>] [-sigalg <簽章演算法>]
[-file <憑證簽章要求檔案>] [-keypass <主密碼>]
[-keystore <金鑰儲存庫>] [-storepass <儲存庫密碼>]
[-storetype <儲存庫類型>] [-providername <名稱>]
[-providerclass <提供者類別名稱> [-providerarg <引數>]] ...
[-providerpath <路徑清單>]
。。。。。。
C:\Documents and Settings\F1034740\桌面\博客文章>Jarsigner
Usage: jarsigner [options] jar-file alias
jarsigner -verify [options] jar-file
[-keystore <url>] keystore location
[-storepass <password>] password for keystore integrity
[-storetype <type>] keystore type
[-keypass <password>] password for private key (if different)
[-sigfile <file>] name of .SF/.DSA file
。。。。。。
[签名文件的制作]
下面我们来制作一个名称为carey.keystore(生成并保存在当前操作目录下),密码为password(密码在输入的过程中不回显)的keystore签名文件,接下来就会用它来给我们自己的apk签名
C:\Documents and Settings\F1034740\桌面\博客文章>keytool -genkey -alias carey.k
ystore -keyalg RSA -validity 20000 -keystore carey.keystore
輸入 keystore 密碼:<password>
重新輸入新密碼: <password>
您的名字與姓氏為何?
[Unknown]: carey zhou
您的編制單位名稱為何?
[Unknown]: foxconn
您的組織名稱為何?
[Unknown]: it
您所在的城市或地區名稱為何?
[Unknown]: shenzhen
您所在的州及省份名稱為何?
[Unknown]: guangdong
該單位的二字國碼為何
[Unknown]: cn
CN=carey zhou, OU=foxconn, O=it, L=shenzhen, ST=guangdong, C=cn 正確嗎?
[否]: Y
輸入 <carey.keystore> 的主密碼
(RETURN 如果和 keystore 密碼相同):<password>
重新輸入新密碼: <password>
[签名过程]
下面我们来给一个未签名的apk(HomeIP2-unsigned.apk)进行签名,生成新的apk(HomeIP2-signed.apk)
C:\Documents and Settings\F1034740\桌面\博客文章>jarsigner -verbose
-keystore carey.keystore -signedjar HomeIP2-signed.apk
HomeIP2-unsigned.apk carey.keystore
Enter Passphrase for keystore: <password>
adding: META-INF/MANIFEST.MF
adding: META-INF/CAREY_KE.SF
adding: META-INF/CAREY_KE.RSA
signing: res/anim/fade_in.xml
signing: res/anim/fade_out.xml
signing: res/anim/fadeout.xml
signing: res/anim/grid_entry.xml
signing: res/anim/grid_exit.xml
signing: res/anim/hide_applications.xml
signing: res/anim/noneshow.xml
signing: res/anim/show.xml
signing: res/anim/show_applications.xml
signing: res/color/bright_text_dark_focused.xml
signing: res/color/listtextcolor.xml
signing: res/drawable/apparrow.xml
signing: res/drawable/application_background.9.png
signing: res/drawable/button.xml
。。。。。。
[总结]
以上就是制作签名文件和给apk签名的过程,详细的情况请参考android官方开发文档 http://developer.android.com/guide/publishing/app-signing.html
分享到:
相关推荐
Windows版本的Android Apk签名工具是Android SDK工具包的一部分,它允许开发者使用密钥对APK进行签名。这个工具通常包括`jarsigner`命令行工具和`zipalign`优化工具,它们对于发布高质量的Android应用至关重要。 三...
1.1 APK签名定义:APK是Android应用程序的打包文件,包含了应用的所有代码、资源和元数据。签名是对APK进行数字签名的过程,目的是确保APK未被篡改,并且能证明应用的来源。 1.2 作用: - 验证完整性:通过对比...
Android系统使用SHA1-RSA算法进行签名,保证了应用程序的不可篡改性。本文将详细介绍三种Android Apk签名的方法。 1. **通过Eclipse进行签名** 在Eclipse集成开发环境中,开发者可以直接对Apk进行签名。首先,右键...
在Android操作系统中,APK(Android Package)是应用程序的基本打包格式,它包含了应用程序的代码、资源、元数据以及运行所需的库文件。APK系统签名文件是Android应用开发过程中的一个重要环节,它涉及到应用的安全...
在Android应用开发中, APK(Android Package)是用于分发和安装Android应用程序的文件格式。在将APK发布到Google Play商店或者在设备上安装之前,必须对其进行签名。签名过程是为了确保应用程序的完整性和开发者...
在Android开发过程中,Apk签名是一个至关重要的步骤,它确保了应用的安全性和完整性。本文将深入探讨Android Apk签名工具的使用,以及它在构建和发布Android应用过程中的作用。 首先,我们需要理解什么是Apk签名。...
当我们谈论“android apk 签名工具”时,我们通常是指用于对Android应用程序进行签名的工具,以便它们可以在设备上安装和运行。这个工具可以帮助开发者解决一个特定的问题,即当尝试替换系统映像(system.img)中的...
在Android应用开发中,APK文件是应用程序的可分发包,它包含了所有代码、资源、图标和其他必要的文件。有时,我们可能需要对APK进行重签名,这通常是出于以下几种原因:更新应用的签名证书、修改应用权限或绕过特定...
在Android开发过程中,掌握命令行编译、签名和打包APK的方法是十分必要的。下面将详细介绍这个过程: 1. **生成R.java文件** R.java文件是Android编译系统自动生成的,它包含了应用程序资源的ID。使用aapt工具可以...
Android APK 系统签名工具(signapk.jar)是Android应用开发过程中不可或缺的一部分,它主要用于对APK文件进行签名,这是Android系统安装应用的基本要求。在Android平台上,每个应用程序都需要一个数字签名来验证其...
在Android应用开发中,APK文件是应用程序的打包格式,它是Android系统安装和运行应用的必备文件。APK重新签名这个过程通常涉及到安全性和更新流程,对于开发者来说是一项重要的操作。接下来,我们将深入探讨APK签名...
### Android APK 重新签名知识点详解 #### 一、概述 在Android开发过程中,有时需要对已有的APK文件进行重新签名。例如,在某些情况下,原始的签名密钥可能丢失或出于安全考虑需更换签名密钥;又或者是在进行二次...
### Android APK空包签名详解 #### 一、引言 在Android应用开发过程中,签名是发布应用程序的一个重要环节。正确地进行签名不仅能够确保应用程序的完整性和安全性,还能避免因签名问题导致的应用无法正常更新或...
2. 签名工具:Android提供了`apksigner`工具,这是一个命令行实用程序,可以用来签署和验证APK。在某些情况下,开发者可能还会使用` jarsigner`,这同样是Java提供的签名工具。 批处理脚本的工作流程可能如下: 1. ...
在Android应用开发过程中,为了确保应用程序的安全性和完整性,对APK进行签名是一项必不可少的操作。本文将详细介绍Android APK签名的过程及其涉及的关键工具和技术。 #### 一、生成数字证书(密钥) ##### ...
在Android系统中,APK(Android Package)是应用程序的基本打包格式,它包含了应用的所有代码、资源和元数据。为了确保安全性和防止恶意篡改,Android系统对APK进行了签名机制。"Android系统签名APK"是指使用特定的...
总结来说,APK签名是Android应用程序开发中不可或缺的一环,涉及到应用的安全、验证和更新。开发者需要理解签名的原理,掌握签名工具的使用,并妥善管理签名文件,以确保应用能够顺利发布和更新。通过深入理解这些...
综上所述,Android应用的APK打包与签名是一个必不可少的过程,它不仅关系到应用程序的安全性,还直接影响到应用程序的模块化设计和发布。通过使用合适的工具和技术,开发者可以有效地完成APK的打包与签名工作,确保...
APK是Android应用程序的主要文件格式,它包含了应用的所有组件,如代码、资源、图片以及必要的元数据。RAR是一种流行的压缩格式,用于减小文件大小以便于存储和传输。 在描述中提到的"如果你在寻找android上面的apk...