【微站 php 源码】【御坂api源码】【元帅柱公式源码】android 源码 zipalign

时间:2024-12-23 00:47:26 编辑:红迅框架源码 来源:即时im源码

1.Android中APK签名工具之jarsigner和apksigner详解
2.Android Apk 编译打包流程,看完这篇文章直接变懂哥
3.如何使用zipalign工具优化

android 源码 zipalign

Android中APK签名工具之jarsigner和apksigner详解

        转自 blogs.com/slysky/p/.html

        一.工具介绍

        jarsigner是JDK提供的针对jar包签名的通用工具,

        位于JDK/bin/jarsigner.exe

        apksigner是Google官方提供的针对Android apk签名及验证的专用工具,

        位于Android SDK/build-tools/SDK版本/apksigner.bat

        不管是apk包,还是jar包,本质都是zip格式的压缩包,所以它们的签名过程都差不多(仅限V1签名),

        以上两个工具都可以对Android apk包进行签名.

        1.V1和V2签名的区别

        在Android Studio中点击菜单 Build->Generate signed apk... 打包签名有两种签名选项 V1(Jar Signature) V2(Full APK Signature),

        从Android 7.0开始, 谷歌增加新签名方案 V2 Scheme (APK Signature);

        但Android 7.0以下版本, 只能用旧签名方案 V1 scheme (JAR signing)

        V1签名:

        V2签名:

        V2签名优点很明显:

        注意:apksigner工具默认同时使用V1和V2签名,以兼容Android 7.0以下版本

        2.zipalign和V2签名

        位于Android SDK/build-tools/SDK版本/zipalign.exe

        zipalign 是对zip包对齐的工具,使APK包内未压缩的数据有序排列对齐,从而减少APP运行时内存消耗

        zipalign -v 4 in.apk out.apk //4字节对齐优化

        zipalign -c -v 4 in.apk //检查APK是否对齐

        zipalign可以在V1签名后执行

        但zipalign不能在V2签名后执行,只能在V2签名之前执行!!!

        二.签名步骤

        1.生成密钥对(已有密钥库,可忽略)

        Android Studio在Debug时,对App签名都会使用一个默认的密钥库:

        1.生成密钥对

        进入JDK/bin, 输入命令

        参数:

        提示: 可重复使用此条命令,在同一密钥库中创建多条密钥对

        例如: 在debug.keystore中新增一对密钥,别名是release

        keytool -genkeypair -keystore debug.keystore -alias release -validity

        2.查看密钥库

        进入JDK/bin, 输入命令

        keytool -list -v -keystore 密钥库名

        参数:

        例如:

        keytool -list -v -keystore debug.keystore

        现在debug.keystore密钥库中有两对密钥, 别名分别是androiddebugkey release

        2.签名

        1.方法一(jarsigner,只支持V1签名)

        进入JDK/bin, 输入命令

        从JDK7开始, jarsigner默认算法是SHA, 但Android 4.2以下不支持该算法,

        所以需要修改算法, 添加参数 -digestalg SHA1 -sigalg SHA1withRSA

        参数:

        例如:

        用JDK7及以上jarsigner签名,不支持Android 4.2 以下

        jarsigner -keystore debug.keystore MyApp.apk androiddebugkey

        用JDK7及以上jarsigner签名,兼容Android 4.2 以下

        jarsigner -keystore debug.keystore -digestalg SHA1 -sigalg SHA1withRSA MyApp.apk androiddebugkey

        2.方法二(apksigner,默认同时使用V1和V2签名)

        进入Android SDK/build-tools/SDK版本, 输入命令

        若密钥库中有多个密钥对,则必须指定密钥别名

        禁用V2签名

        apksigner sign --v2-signing-enabled false --ks 密钥库名 xxx.apk

        参数:

        例如:

        在debug.keystore密钥库只有一个密钥对

        apksigner sign --ks debug.keystore MyApp.apk

        在debug.keystore密钥库中有多个密钥对,所以必须指定密钥别名

        apksigner sign --ks debug.keystore --ks-key-alias androiddebugkey MyApp.apk

        3.签名验证

        1.方法一(keytool,只支持V1签名校验)

        进入JDK/bin, 输入命令

        keytool -printcert -jarfile MyApp.apk (显示签名证书信息)

        参数:

        2.方法二(apksigner,支持V1和V2签名校验)

        进入Android SDK/build-tools/SDK版本, 输入命令

        apksigner verify -v --print-certs xxx.apk

        参数:

        例如:

        apksigner verify -v MyApp.apk

Android Apk 编译打包流程,看完这篇文章直接变懂哥

       Android应用编译打包背后的细节,让你瞬间成为内行

       在Android开发中,微站 php 源码编译打包是一项耗时的任务,尤其是御坂api源码大型项目。本文将揭示AGP编译过程的奥秘,以及如何优化。

       编译打包的流程大致可分为几个关键步骤:

       资源与代码编译:AAPT2处理APK资源,包括解析、压缩和索引,生成.flat文件和辅助文件(R.java和resources.arsc)。

       AIDL文件编译:将AIDL接口编译为Java代码。元帅柱公式源码

       Java与Kotlin文件编译:注解处理器生成额外代码。

       Class文件打包成DEX:处理.class文件,转化为Dalvik的vue项目分享源码.dex文件。

       D8编译器与R8工具:引入新的编译和混淆工具,优化DEX文件。

       生成APK包:将所有编译结果和manifest等打包成APK。裸台阶指标源码

       zipalign对齐:确保APK文件结构对齐,提升性能。

       签名:Apksigner进行V2或更高版本的签名,确保文件安全。

       这些步骤背后,是AGP插件中的多个Task,例如mergeDebugResources对应资源编译,processDebugResources处理资源链接等。

       了解这些基础知识对于优化包体积和编译效率至关重要。希望本文能帮助你深入理解Android APK编译打包的全过程。

如何使用zipalign工具优化

       1.下载android SDK(打开迅雷点击直接下载)

       2.下载后,直接解压软件到C盘根目录下,它的tools文件夹下就有zipalign工具,不需要安装。

       3.把你需要优化的APK应用程序拷贝到tools文件夹下,注意记住软件的全名。

       4.利用Windows命令进行调用,在运行中,输入CMD 点确定,

       5.此时看到命令行,

       6.输入CD.. 回车 CD.. 回车 (此为简单的DOS命令,进入C盘根目录下)

       7.输入cd android-sdk-windows 回车 再输入cd tools 回车 (此步通过DOS命令进入tools文件夹)

       8.最后输入zipalign.exe -v 4 QQ_for_Pad_v1.4.1.apk CasonQQ.apk 回车(此步骤简单的说就是命令+原来软件名字+优化后软件名字)

       9.打开tools文件夹,发现会多出了一个CasonQQ.apk的应用程序,就是优化后的软件

       PS:此方法无风险,可尽情发挥.

搜索关键词:互动直播源码代码