android 打包 命令行,命令行打包 Android APK

注意

安装软件包管理器

MAC 电脑

Windows 电脑

cmd.exe 中安装

PowerShell.exe 中安装

安装 JDK8

Mac os

Windows

安装 Gradle

Mac os

Windows

安装 Android SDK

Mac os

Windows

安装 androd build-tools

构建调试 APK

构建发布版本 APK

生层私钥

配置Gradle来构建应用

不使用 Gradle 配置使用命令行

构建未签名的 apk

使用 zipalign 对齐未签名的 APK

通过 apksigner 使用您的私钥为 APK 签名

验证签名

环境变量的配置

Mac

Windows

查看 APK 签名命令

注意

版本的不同,安装目录也会有所变化。

安装软件包管理器

MAC 电脑

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

Windows 电脑

cmd.exe 中安装

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command " [System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

PowerShell.exe 中安装

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

安装 JDK8

Mac os

brew tap adoptopenjdk/openjdk

brew cask install adoptopenjdk8

Windows

choco install jdk8

安装 Gradle

Mac os

brew install gradle

安装路径:/usr/local/Cellar/gradle/5.0/bin

Windows

choco install gradle

安装路径:C:\ProgramData\chocolatey\lib-bkp\gradle\tools\gradle-6.3\bin

安装 Android SDK

这里会提示安装 jdk,可以跳过安装jkd。

Mac os

brew cask install android-sdk

安装路径:/usr/local/Caskroom/android-sdk

Windows

choco install android-sdk

安装路径:C:\Android\android-sdk

安装 androd build-tools

windows sdkmanager 在路径 C:\Android\android-sdk\tools\bin 中。

mac sdkmanager 在路径 /usr/local/Caskroom/android-sdk/4333796/tools 中。

sdkmanager "platforms;android-28"

或指定详细版本:

sdkmanager "build-tools;29.0.1"

Windows 安装路径:C:\Android\android-sdk\build-tools\29.0.1

Mac 安装路径: /usr/local/Caskroom/android-sdk/4333796/build-tools/29.0.1

构建调试 APK

在此之前你需要修改 local.properties 文件中的 sdk 路径。

请打开命令行,然后转到项目的根目录:

gradlew assembleDebug

将在 project_name/module_name/build/outputs/apk/ 中创建一个名为 module_name-debug.apk 的 APK。 该文件已使用调试密钥进行签名并使用 zipalign 对齐,因此您可以立即将其安装到设备上。

构建 APK 并立即在运行的模拟器或连接的设备上安装:

gradlew installDebug

构建发布版本 APK

在此之前你需要修改 local.properties 文件中的 sdk 路径。

生层私钥

keytool -genkey -v -keystore my-release-key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-alias

生成一个名为 my-release-key.jks 的密钥库文件,并将其保存在当前目录中。

配置Gradle来构建应用

android {

...

defaultConfig { ... }

signingConfigs {

release {

// You need to specify either an absolute path or include the

// keystore file in the same directory as the build.gradle file.

storeFile file("my-release-key.jks")

storePassword "password"

keyAlias "my-alias"

keyPassword "password"

}

}

buildTypes {

release {

signingConfig signingConfigs.release

debuggable false

zipAlignEnabled true

shrinkResources true

minifyEnabled true

...

}

}

}

构建 apk:

gradlew assembleRelease

当您通过调用 Gradle 任务来构建您的应用时,Gradle 会为您的应用签名(并运行 zipalign)。

不使用 Gradle 配置使用命令行

下面使用的 zipalign apksigner 在 build-tools 目录下。

构建未签名的 apk

gradlew assembleRelease

使用 zipalign 对齐未签名的 APK

zipalign -v -p 4 my-app-unsigned.apk my-app-unsigned-aligned.apk

zipalign 可以确保所有未压缩数据的开头均相对于文件开头执行特定的字节对齐,从而减少应用占用的 RAM 量。

通过 apksigner 使用您的私钥为 APK 签名

apksigner sign --ks my-release-key.jks --out my-app-release.apk my-app-unsigned-aligned.apk

用存储在单个密钥库文件 my-release-key.jks 中的私钥和证书为 APK 签名后,将以 my-app-release.apk 的形式输出已签名的 APK。

验证签名

apksigner verify my-app-release.apk

环境变量的配置

Mac

在 ~/.bash_profile(如果使用iterm则是~/.zshrc)文件中添加:

export ANDROID_HOME=/usr/local/Caskroom/android-sdk

export PATH=$PATH:$ANDROID_HOME/4333796/tools

export PATH=$PATH:$ANDROID_HOME/4333796/build-tools/29.0.1

export GRADLE_HOME=/usr/local/Cellar/gradle

export PATH=$GRADLE_HOME/5.0/bin

Windows

C:\Android\android-sdk\tools\bin

C:\Android\android-sdk\build-tools\29.0.1

C:\ProgramData\chocolatey\lib-bkp\gradle\tools\gradle-6.3\bin

查看 APK 签名命令

keytool -list -printcert -jarfile app-relase-.apk

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值