首页 > 编程知识 正文

eclipse打包app签名,设计自己的签名app

时间:2023-05-06 12:42:55 阅读:179900 作者:2893

andr iod APP安装在手机或模拟器上需要签名!1.签名的意义

为了保证每个APP应用程序开发人员的合法身份,防止一些开放公司混淆和替换使用同一Package Name安装的程序,必须对公开的APK文件进行唯一签名,并在每次公开时保证版本的一致性例如,自动更新不会因为版本不匹配而无法安装。

2.签名的步骤

a .创建密钥

b .使用在步骤a中生成的key对apk签名

3.具体操作

htdmj:命令行下对apk签名(原理)

要创建key,需要jdk1.6.0_24jredtdxtg目录下的keytool.exe。 要使用生成的key对apk签名,请使用jdk1.6.0_24dtdxtg目录

d : keytool-genkey-alias demo.keystore-keyalg RSA-validity 40000-keystore demo.keystore/* 说明:-genkey生成密钥-alias demo.keystore别名demo.keystore -keyalg RSA使用RSA算法加密签名-validity 40000过期4000天- keystore demo keystore d : jarsigner-verbose-keystore demo.keystore-signed jar demo _ signed.apk demo.apk demo.keystore/* 说明:-verbose输出签名详细信息-keystore demo.keystore密钥库位置- signedjardemor _ signed.apk demo.apk demo.keystore正式签名, 由三个参数签名后生成的文件demo要签名的文件demo.apk和密钥库demo.keystore.*/注意:缺省情况下,android项目dtdxtg目录中的demo.apk是DDD 正确的步骤是:在项目中右键单击- anroidtools-exportunsignedapplicationpackage导出的apk按上述步骤签名。

cxdlq:使用Eclipse导出带签名的apk

Eclipse可以直接导出带签名的最终apk,非常方便,建议使用。 步骤如下。

步骤1 :导出。

步骤2 :创建密钥库,输入要将密钥库导出到的位置和密码,并记住该密码。 在下次的Use existing keystore中使用。

步骤3 :填写密钥库信息,并填写apk文件的密码、使用期限和组织单位信息。

步骤4 :生成带签名的apk文件,到此结束。

步骤5 :下次发布版本时,使用之前生成的keystore重新签名。

第六步:下一步,下一步,然后OK!

方法使用IntelliJ IDEA导出签名的apk

方法步骤基本与Eclipse相同,基本操作路线为菜单Tools-Andrdoid-Export signed apk。

4.签名之后,用zipalign(压缩对齐)优化你的APK文件。

未签名的apk不可用,也无法优化。 建议使用android-sdk-windows ools目录中的zipalign.exe工具优化签名后的apkGoogle。

d : zipalign-v4 demo _ signed.apk final.apk如上所述,zip align可以将apk文件中的未压缩数据与4字节边界对齐。 4字节是性能良好的值。 这样,安卓系统就可以使用mmap ()。 (请自己确认这个

对齐PS:1字节的边界,一般是编译器将4字节作为一个单位读取的结果,可以使CPU有效且高速地访问变量。

2 .对齐根源: android系统中的Davlik虚拟机使用自己的格式DEX。 DEX的结构很紧凑,为了提高运行时的性能,可以通过“对齐”进一步优化,但大小通常会增加。

5.签名对你的App的影响。

不能只做一个APP。 如果你想涉足生活、服务、游戏、系统的各个领域,你不能只做一个APP。 谷歌建议所有APP使用相同的签名证书。

如果使用您自己的相同签名证书,则即使包名相同,也没有人能复盖APP应用程序。 因此,影响如下。

1 ) APP升级。 使用同一签名的升级软件可以成功覆盖旧版本的软件。 否则,系统会比较新版本的签名证书和旧版本的签名证书不匹配,并且不允许新版本的安装成功。

2 ) APP模块化。 android系统允许具有相同的APP并在同一进程中执行。 如果在同一个进程中运行,他们就相当于同一个APP,但你可以单独升级和更新他们。 这是APP级模块化的想法。

3 )允许代码和数据共享。 android提供了基于签名的人员标签。 允许的设置允许在不同的App之间进行访问和共享,如下所示:

Android manifest.XML:permission Android 3360 protectionlevel=' normal ' /其中protection level标签包含normal (默认值)、ddode dangerous风险很高,所有的App都可以访问和共享这个App。 signature是指具有相同签名的App可以访问和共享此App。 signatureOrSystem意味着系统image中签名与App相同的App可以访问和共享此App。 谷歌建议不要使用此选项。 签名就足够了。 通常,当需要在image中共享特定功能时,会使用此许可证。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。