打apk包的环境依赖
1.jdk
2.sdk
3.ndk
打apk包的工具
gradle
mkdir /usr/local/Android cd /usr/local/Android mkdir sdk gradle ndk
1.jdk安装
略
2.sdk安装
https://www.androiddevtools.cn/下载地址
cd /usr/local/Android/sdk wget https://dl.google.com/android/android-sdk_r24.2-linux.tgz #此版本过低需要多次更新sdk tar xf android-sdk_r24.2-linux.tgz cd /usr/local/Android/sdk/android-sdk-linux/tools ./android update sdk --no-ui #更新sdk命令
sdk 目录
如果更新完后还缺少特定的安卓版本依赖,可以查看所有版本下载指定依赖
/usr/local/Android/sdk/android-sdk-linux/tools/android list sdk -a #会显示需要更新
/usr/local/Android/sdk/android-sdk-linux/tools/android update sdk -a --no-ui --filter 3 #根据编号更新指定安卓版本
3. ndk安装
https://developer.android.google.cn/ndk/downloads/
cd /usr/local/Android/ndk wget https://dl.google.com/android/repository/android-ndk-r16b-linux-x86_64.zip unzip android-ndk-r16b-linux-x86_64.zip
安装打包工具gradle
https://gradle.org/
unzip /usr/local/Android/gradle/gradle-5.1-bin.zip
配置所有插件的环境变量
vim /etc/profile
export GRADLE_HOME=/usr/local/Android/gradle/gradle-5.1 export ANDROID_HOM=/usr/local/Android/sdk/android-sdk-linux export JRE_HOME=${JAVA_HOME}/jre export NDK_HOME=/usr/local/Android/ndk/android-ndk-r16b export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$GRADLE_HOME/bin:$ANDROID_HOME/platform-tools:$NDK_HOME:$PATHsource /etc/profile
apk打包
首先拉取代码,在代码目录里有一个gradlew文件,默认没有执行权限,chmod +x gradlew 给与执行权限,
./gradlew assembleRelease #打包打完的包在羡慕目录的animalInsurance/build/outputs/apk/release/下
如果找不到可以 find ./ |grep apk 搜索下
配置安卓代码里找到sdk,ndk工具的位置
在安卓代码的根目录下有一个local.properties文件 在此文件里告诉安卓代码sdk工具的位置
vim local.properties
## This file must *NOT* be checked into Version Control Systems, # as it contains information specific to your local configuration. # # Location of the SDK. This is only used by Gradle. # For customization when using a Version Control System, please read the # header note. #Fri Jan 11 09:35:09 CST 2019 ndk.dir=/usr/local/Android/ndk/android-ndk-r16b #ndk路径 sdk.dir=/usr/local/Android/sdk/android-sdk-linux #sdk 路径
使用jks给apk签名
jarsigner -verbose -keystore xxx.jks(jks文件) -signedjar xxx.apk(签名后的apk名字) xxx.apk(需要签名的apk) xxx(keystore别名)
如果失败可能是已有签名
需要先把apk文件的后缀给为zip,
解压zip文件,把文件下的 META-INFO 文件,
再把解压的文件打包为zip文件,
把zip文件改为apk文件,再重新签名即可成功
jenkins配置自动安卓上线
设置git拉取代码
执行bash
#!/bin/bash #name:王康 #作用: jenkins安卓打包 baopath=/var/lib/jenkins/workspace/安卓打包发布 #定义代码位置 webpath=/var/www/html/android #定义网页位置 chmod +x $baopath/gradlew #给打包命令加执行权限 cd $baopath #进入目录下 ./gradlew assembleRelease #打包[ -f $webpath/nongxian.apk ] && mv $webpath/nongxian.apk $webpath/`date +%F-%T`nongxian.apk mv $baopath/animalInsurance/build/outputs/apk/release/animalInsurance-release.apk $webpath/nongxian.apk