当前位置: 首页 > wzjs >正文

郑州专业手机网站制作iis怎么让添加的网站没有端口

郑州专业手机网站制作,iis怎么让添加的网站没有端口,百度pc端提升排名,医院网站建设平台文章目录 前言一、什么是JKS?生成JKS签名文件android studio创建命令行创建 配置签名gradle文件配置签名命令行手动签名 二、jarSigner签名简介签名验证签名是否成功V1签名问题 三、apkSigner签名简介签名验证签名是否成功 四、适配API等级301、先进行zipalign对齐2…

文章目录

  • 前言
  • 一、什么是JKS?
    • 生成JKS签名文件
      • android studio创建
      • 命令行创建
    • 配置签名
      • gradle文件配置签名
      • 命令行手动签名
  • 二、jarSigner签名
    • 简介
    • 签名
    • 验证签名是否成功
    • V1签名问题
  • 三、apkSigner签名
    • 简介
    • 签名
    • 验证签名是否成功
  • 四、适配API等级30
      • 1、先进行zipalign对齐
      • 2、使用apkSigner签名
  • 五、参考链接


前言

目前项目上需要给手机端apk签名,出于上架的需要,出现一些问题,顺手整理总结Android签名相关的知识。

在Android平台上,有两种主要的签名方案:V1方案和V2方案。V1方案是较早引入的,它通过给APK的各个部分分别签名,并将签名信息存储在META-INF目录中。V2方案则是Android 7.0(Nougat)中引入的,它在整个APK文件上进行签名,而不是单独对各个部分签名,这可以提供更快的验证速度,并且支持更多的优化。

在开始签名APK之前,开发者需要准备一个签名密钥。签名密钥通常包含在一个称为密钥库(keystore)的文件中,这个文件以 .keystore 或 .jks (Java密钥库)为扩展名。生成密钥库时,开发者需要指定密钥库的密码、密钥别名以及密钥的密码。

一、什么是JKS?

‌JKS签名‌(Java KeyStore签名)是一种在Android开发中常用的签名方式,主要用于对APK文件进行数字签名,以确保APK的完整性和安全性。JKS是Java KeyStore的缩写,是一种存储密钥和证书的二进制文件,常用于Java平台上对应用程序进行签名‌

生成JKS签名文件

android studio创建

在 Build >> generate Signed bundle or apk >> create new >> 根据引导创建即可

命令行创建

在Android系统中使用openssl工具从platform.pem生成platform.p12,并设置别名和密码,最后通过keytool将platform.p12导入为platform.jks,全程涉及密钥转换与安全管理。

  1. 生成platform.pem
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem
  1. 生成platform.p12文件,并设置别名(eric)和密码(123456)
openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:123456 -name eric
  1. 生成platform.jks文件 (密码:123456)
keytool -importkeystore -deststorepass 123123 -destkeystore ./platform.jks -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass 123456

配置签名

gradle文件配置签名

傻瓜式配置,但是明文显示不安全

        release {keyAlias '1234'keyPassword '1234'storeFile file("../app/doc/jks.jks")storePassword '1234'v1SigningEnabled truev2SigningEnabled trueprintln("sign file = " + storeFile)}

引用签名信息

        debug {minifyEnabled truesigningConfig signingConfigs.release}

命令行手动签名

推荐使用命令行签名,使用jarSigner签名工具或apkSigner签名工具来手动签名

二、jarSigner签名

简介

jarsigner 是 Java Development Kit (JDK) 提供的一个用于对 JAR 文件进行签名和验证的命令行工具。它主要通过使用密钥库(keystore)和别名(alias)来识别私钥。

签名

jarsigner -verbose -keystore my-release-key.jks -storepass [your-keystore-password] -keypass [your-key-password] -signedjar output.apk original.apk my-key-alias

命令详细参数介绍:

-verbose :显示详细信息。
-sigalg SHA1withRSA :指定签名算法为SHA1withRSA-digestalg SHA1 :指定摘要算法为SHA1。
-keystore my-release-key.keystore :指定密钥库文件路径。
-output.apk :签名后的apk
-original.apk :要签名的APK文件。
-my-key-alias :指定密钥库中的密钥别名。

验证签名是否成功

jarsigner -verify -verbose -certs ‘***.apk’

V1签名问题

安装报错:Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.lion.lionlink]

jarsigner只能签名V1的包,导致android11以上的无法安装,推荐使用apkSigner签名。

三、apkSigner签名

简介

apkSigner 是 Android 开发中用于签名 APK 文件的工具,它属于 Android SDK build-tools 的一部分。自从 Android 7.0 (API 级别 24) 引入了 V2 签名方案后,apksigner 成为了官方推荐的签名工具,用以替换旧的 jarsigner 工具。apksigner 支持 V1、V2、V3 和 V4 签名方案,提供了更多的灵活性和安全性。

签名

apksigner sign --ks my-release-key.keystore --ks-key-alias my-key-alias --ks-pass pass:password --key-pass pass:password --out signed.apk my-application.apk

命令详细参数介绍:

--ks :指定密钥库文件。
--ks-key-alias :指定密钥库中的密钥别名。
--ks-pass :指定密钥库的密码。
--key-pass :指定密钥对的密码(与密钥库密码不同的情况)。
--out :指定输出的签名后的APK文件。
--my-application.apk :要签名的APK文件。

验证签名是否成功

-certs 参数会输出证书链的信息,这有助于开发者了解签名证书的相关细节,例如证书的发行者和有效期。开发者应确保这些信息与预期相符,以防止证书伪造或滥用。
验证结果打印签名的相关信息

apksigner verify --print-certs ‘******_V2.3.3.apk’
验证结果如下:

Signer #1 certificate DN: C=cn, ST=jiangsu,*****
Signer #1 certificate SHA-256 digest: fc6af0873dd433c830e0*****
Signer #1 certificate SHA-1 digest: b85fdb5a0ffb5cc*****
Signer #1 certificate MD5 digest: a521361d2a*****

四、适配API等级30

通过上述的打包、重签名的过程中,如果API Level >= 30的情况下,使用adb命令来安装apk包,就会出现如下报错:
Failure [-124: Failed parse during installPackageLI: Targeting R+ (version 30 and above) requires the resources.arsc of installed APKs to be stored uncompressed and aligned on a 4-byte boundary]

官网资料建议
在这里插入图片描述

1、先进行zipalign对齐

cd /Users/xxx_ios/Library/Android/sdk/build-tools/33.0.0// 加固apk文件  会生成一个新的apk文件 的路径
./zipalign -p -f -v 4 /原apk文件路径/20240221175241.apk  /Users/新apk文件路径/.apk

1 ZIPalign工具的作用和重要性
ZIPalign是一个专门用于对APK文件进行优化的工具,它确保所有的非代码文件(如图片、音频文件等资源文件)都按照对齐值进行对齐。这个对齐值通常是4字节(4字节对齐)。ZIPalign的使用在Android应用发布流程中非常关键,因为它不仅优化了应用的性能,还减少了应用占用的内存大小。

对齐操作的实质是修改APK文件中的资源文件偏移量,以便它们从文件的4字节边界开始。这一改动使得Android系统在访问这些文件时更加高效,因为它可以直接从内存地址读取这些数据,而无需进行额外的字节拷贝操作。这种优化对内存使用和运行性能有显著的提升。

2 ZIPalign与APK性能优化的关系
应用性能优化是一个涉及多个方面的复杂过程,而ZIPalign工具是其中不可或缺的一个环节。正确使用ZIPalign可以在应用运行时减少内存的使用,提高应用的启动速度和运行效率。对齐后的APK文件在安装时会被Android系统自动识别,并利用优化过的文件结构进行加载。

ZIPalign的使用有助于减少设备的CPU负载,因为文件访问变得更为高效。此外,正确的对齐还有助于降低电量消耗,因为不需要频繁地执行读写操作。因此,使用ZIPalign不仅对用户体验有直接的正面影响,也对设备的能耗管理有间接的益处。

2、使用apkSigner签名

五、参考链接

  • Android系统中jks文件的生成方法
  • keyStore、jks签名证书相互转换
  • Android 签名、打包、上架
  • Android APK签名及修改工具实战指南
http://www.dtcms.com/wzjs/558068.html

相关文章:

  • 如何在凡科上做网站电子邮件免费注册
  • 浙江平台网站建设制作企业网站每年续费吗
  • 区块链技术做网站竞价网站策划
  • 怎么评价网站的好坏设计方案介绍
  • wordpress百度网站地图网站备案提示
  • 辽宁建设工程信息网评标专家入库seo入门书籍
  • 怎么让网站页面自适应广州十大高端网站建设公司
  • 找施工员在哪个网站上找百度推广的渠道有哪些
  • 北京品牌网站定制公司刚做的网站 搜不到
  • 天津企朋做网站的公司网站开发四个重点
  • 专业做家具的网站有哪些新网企业邮箱
  • 广州微网站建设怎么样免费设计手写签名
  • 机械公司网站源码门户网站开发方案
  • 大华伟业网站建设网站建设需要考虑哪些因素
  • 旅游景点网站模板计算机应用专业(网站开发)
  • 成都有哪些做网站的黄骅港项目中标结果
  • 旅游网站建设市场分析深圳网页设计推广渠道
  • 网站备案密码忘网站顶部滑动展示的div层提示效果
  • 住房建设建设部网站网站开发毕设任务书
  • 南昌网站建设报价网页制作与设计在哪搜题
  • 面试网站建设的问题6怎么自己制作软件app
  • 建设环保网站查询系统优化网站界面的工具
  • 网站自助搭建做网站要是要求吗
  • 禾天姿网站建设网站整站程序
  • 长沙市网站开发wordpress 主体安装
  • 什么网站做ppt好微信营销网站建设
  • 广东网站制作公司排名山东省住房和城乡建设厅官网查询
  • 阿里企业网站建设品牌建设的过程
  • 站群cms源码wordpress 代码解读
  • 怎么在网上查网站空间是双线还是单线wordpress sns