`
as11051105
  • 浏览: 59359 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论
阅读更多

1数字签名

Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!Android通过数字签名来标识应用程序的作者和在应用程序之间建立信任关系,不是用来决定最终用户可以安装哪些应用程序。这个数字签名由应用程序的作者完成,并不需要权威的数字证书签名机构认证,它只是用来让应用程序包自我认证的。 为了方便我们开发调试程序,ADT会自动的使用debug密钥为应用程序签名。 

在这里,我会使用自己的密钥文件(*.keystore 来对自己开发的程序进行签名,而不用ADT自带的。自定义的apk签名工作可以通过两种方式来完成:一种是通过ADT提供的图形化界面完成apk签名;另外一种是完全通过DOS命令来完成apk签名,这里使用第二种。

2签名步骤 

2.1 准备工作

apk签名要用到keytool工具:
    keytool:生成数字证书,即密钥,也就是扩展名为.keystore的文件 

2.2 使用keytool工具生成数字证书 

  keytool -genkey -v -keystore zhangxueyi.keystore -alias zhangxueyi.keystore -keyalg RSA -validity 20000
  说明:
      1keytool是工具名称,-genkey意味着执行的是生成数字证书操作,-v表示将生成证书的详细信息打印出来,显示在dos窗口中;
      2-keystore zhangxueyi.keystore 表示生成的数字证书的文件名为zhangxueyi.keystore
      3-alias zhangxueyi.keystore 表示证书的别名为zhangxueyi.keystore,当然可以不和上面的文件名一样;
      4-keyalg RSA 表示生成密钥文件所采用的算法为RSA
      5-validity 20000 表示该数字证书的有效期为20000天,意味着20000天之后该证书将失效.
在执行上面的命令生成数字证书文件时,会提示你输入一些信息,包括证书的密码,示例如下: 
   

 

    这样的话,就会在文件目录"F:\毕业设计\张学义_毕业设计\数字签名"下成功的生成了我新建的密匙:

7.2.3 APK签名

当手机端的程序部署成功之后,就会在本项目的bin文件夹下生成一个apk文件了,我们就是要对这个apk进行签名:

现在,我们要直接对此apk进行签名:

a. Android工程名称上点击右键,依次选择Android Tools” Export Signed Application Package ... 

点击:“Next

选择“Use existing keystore”,在“Location”中选择自己的密匙,输入密码,点击“Next”:

点击“Next”:

选择apk签名后要存放的位置,点击“Next”:

    好了,现在就会在目录F:\毕业设计\张学义_毕业设计\数字签名”中就会出现自己已经签名的apk了:

注意事项

如果以前的程序是采用默认签名的方式(即debug签名),一旦换了新的签名应用将不能覆盖安装,必须将原先的程序卸载掉,才能安装上。如图所示:

因为程序覆盖安装主要检查两点:
  1)两个程序的入口Activity是否相同。两个程序如果包名不一样,即使其它所有代码完全一样,也不会被视为同一个程序的不同版本;
  2)两个程序所采用的签名是否相同。如果两个程序所采用的签名不同,即使包名相同,也不会被视为同一个程序的不同版本,不能覆盖安装。
    另外,有人可能会认为反正debug签名的应用程序也能安装使用,那也没有必要自己签名了嘛。千万不要这样想,debug签名的应用程序有这样两个限制,或者说风险:
  1debug签名的应用程序不能在Android Market上架销售,它会强制你使用自己的签名
  2debug.keystore在不同的机器上所生成的可能都不一样,就意味着如果你换了机器进行apk版本升级,那么将会出现上面那种程序不能覆盖安装的问题。不要小视这个问题,如果你开发的程序只有你自己使用,当然无所谓,卸载再安装就可以了但要是你的软件有很多使用客户,这就是大问题,就相当于软件不具备升级功能! 

 

 

参考自http://blog.csdn.net/lyq8479/article/details/6401093

  • 大小: 110.8 KB
  • 大小: 123.4 KB
  • 大小: 109.8 KB
  • 大小: 4.5 KB
  • 大小: 11.4 KB
  • 大小: 28.6 KB
  • 大小: 77.9 KB
  • 大小: 25.4 KB
  • 大小: 23.2 KB
  • 大小: 25.8 KB
  • 大小: 9.5 KB
  • 大小: 18.7 KB
分享到:
评论

相关推荐

    android myeclipse 将java 程序 生成APK 发布

    在Android开发过程中,将Java程序转化为可安装的APK(Android Package)文件并发布是必要的步骤。MyEclipse作为一款集成开发环境,提供了方便的工具来帮助开发者完成这个过程。以下将详细介绍如何在MyEclipse中通过...

    APK文件批量一键签名工具包

    然而,在将APK发布到Google Play或其他第三方应用市场之前,或者在某些系统环境下安装APK时,都需要对APK进行签名。签名的主要目的是确保应用的完整性和开发者身份的验证。本压缩包“APK文件批量一键签名工具包”...

    APK签名解析示例

    签名是APK发布前的必要步骤,它用于验证APK的来源并确保其未被篡改。Android系统在安装APK时会检查签名,只有签名合法的应用才能被安装和运行。 APK签名的过程主要包括以下步骤: 1. **生成密钥对**:使用工具(如...

    apk签名工具

    在将APK发布到Google Play商店或任何其他第三方市场之前,必须对其进行签名,以确保其完整性和来源的可信性。签名过程对于Android系统来说至关重要,因为它允许系统验证应用程序的身份,确保未被篡改,并且允许应用...

    apk解压后打包签名工具

    如果丢失,无法为旧版本的APK发布更新。 - 对于生产环境,建议使用不同的签名密钥库和别名,以区分测试和正式版本。 通过掌握apktool和Auto-Sign的使用,开发者可以更加便捷地对APK进行调试、定制和发布,确保应用...

    Apk改之理3.1

    3. **签名与重签名**:Apk改之理支持对APK进行签名和重签名操作,这是APK发布到Google Play或其他市场前的必要步骤,同时也可用于绕过特定设备的权限限制。 4. **代码修改**:用户可以直接在反编译后的Java源代码中...

    APK签名打包文件

    在APK发布之前,必须对其进行签名,以确保其来源可信,并且能够安装到用户的设备上。 签名APK的主要目的是验证应用程序的开发者身份,确保应用程序在分发过程中未被篡改。Android系统要求每个安装的APK都必须有一个...

    H5打包apk工具

    4. **更新机制**:HTML5应用通常易于更新,但作为APK发布后,更新可能需要用户手动升级,或者通过内置的自动更新机制来实现。 5. **安全性和隐私**:由于HTML5应用的开放性,开发者需要特别关注数据安全和用户隐私,...

    查看apk的签名信息.zip

    在APK发布之前,为了确保其安全性和防止篡改,开发者需要对APK进行签名。签名过程提供了身份验证,允许系统验证APK的来源并确认其完整性。本教程将详细讲解如何查看APK的签名信息。 首先,我们需要了解APK签名的...

    AnySubPackage APK分包工具

    5. **更新策略**:当有新的子模块APK发布时,应用需要能够智能地识别并引导用户更新。这包括检查新版本、下载更新以及替换旧的子模块。 6. **优化资源**:分包工具还可能涉及资源压缩和优化,减少APK的大小,进一步...

    android 系统apk管理

    在Android系统中,APK(Android Package)是应用程序的基本安装包,它包含了应用的所有资源、代码、库文件以及元数据。APK管理是Android系统核心功能的一部分,涉及到应用的安装、更新、卸载以及权限管理等多个方面...

    Android apk签名批处理脚本

    在将APK发布到Google Play商店或者进行第三方分发时,必须对其进行签名,以确保应用的完整性和开发者身份的验证。本文将详细介绍如何使用批处理脚本来实现Android APK的批量签名过程。 首先,我们要理解APK签名的...

    APK反编译、重构工具

    签名是APK发布的关键步骤,因为Android系统要求所有安装的应用都必须有有效的数字签名。APK Easy Tool也提供了APK签名的功能,确保修改后的APK能正常安装和运行在Android设备上。这个过程通常会使用到 jarsigner ...

    apk 加密 代码干扰 内有文档

    在压缩包中的"SIGNapk"可能是指签名过程,签名是APK发布的重要环节,它确保了应用的完整性和来源可信。Android系统会检查APK的签名,只有签名正确的APK才能在设备上安装。签名还能帮助开发者更新应用,因为每次更新...

    apk安全性校验

    在APK发布前,开发者需要使用私钥对APK进行签名,这一步骤生成了签名证书。签名的主要目的是验证应用的来源,保证其未经修改,并允许系统在安装时检查应用的权限。签名证书通常存储在keystore文件中,包含了开发者...

    android apk签名工具

    在将APK发布到Google Play商店或者在设备上安装之前,必须对其进行签名。签名过程是为了确保应用程序的完整性和开发者身份的验证。本文将详细介绍Android APK签名工具及其使用方法。 Android Studio,作为官方推荐...

    apkup:directly直接从终端将APK发布到Google Play

    直接从终端将APK发布到Google Play 此程序包提供了一种简化的方法来在Google Play商店中发布程序包。 的甲叉 。 :memo: 目录 :chequered_flag: 入门 apkup入门非常简单直接。 全局或本地安装apkup软件包: ...

    appgallery-publisher:一个Gradle插件,允许将APK发布到华为的App Gallery

    在描述中提到,该插件的核心功能是“允许将APK发布到华为的App Gallery”。这表明它与华为的应用市场(AppGallery)紧密集成,能够遵循华为的发布规范,处理如签名、版本管理等环节,确保应用能够正确无误地上传到...

    APK解析(版本、包名、导出资源图片、证书相关信息、签名认证、权限、Activity等)

    获取apk发布者信息: java -jar ApkAnalysis.jar “apk路径” -certs 0 issuer 获取apk声明的权限: java -jar ApkAnalysis.jar “apk路径” -permissions 当作为架包使用时,通过 ApkAnalysis apkAnalysis = ...

    android安卓app开发之如何在多家安卓商店发布apk的问题.zip_安卓市场

    总的来说,将APK发布到多家安卓商店是一项涉及技术与策略的工作。开发者需要掌握Android Studio的多渠道打包技巧,了解不同市场的提交流程和规范,同时关注应用的持续优化和维护。通过这样的努力,你的安卓应用将有...

Global site tag (gtag.js) - Google Analytics