jenkins编译H5做的android端编译卫士app记录
编译android相关操作
先安装linux下的sdk tools,在官方地址上Download Android Studio and SDK tools | Android Developers 有命令需要的sdk tools工具,我下载的是sdk-tools-linux-4333796.zip unzip进行解压,一般新建一个android目录再解压
同时安装全局工具gradle 编译工具
增加全局环境变量
bin/sdkmanager --licenses bin/sdkmanager --list bin/sdkmanager --install "build-tools;27.0.3" bin/sdkmanager --install "platforms;android-25"
可以不需要安装相关,因为编译android的时候会自动去下载需要的工具
卫士公共打包,用npm gulp方式打包,为android与ios提供基础包
目前卫士版本只能用nodejs8.9.4来编译
echo $PATH node -v npm -v gulp -v webpack -v npm install gulp dist rm -rf includes node_modules src typescript unpackage rm -f *.js rm -f login.html packag*.json readme.txt tsconfig.json yarn.lock rm -rf $JOB_NAME.zip zip -r $JOB_NAME.zip *
之前出现的几个问题就是
1、只能用nodejs8.9.4编译,用最新编译会出现错误
2、主要要看gulpfile.js文件里的配置
目前用这个
不能用里面的watch,这样一直会在转动,等待代码更新后自动更新,这个可能适合于调试阶段
h5部分编译好后,只有5块需要拷贝到安卓/ios项目中:
安卓端,拷贝到assets/apps/HelloH5/www,修改上图manifest.json中的版本号和AndroidManifest.xml中的版本号,并把AndroidManifest.xml中的versionCode增大一个即可打包发布。
common4 卫士 android端编译
FAILURE: Build completed with 2 failures. 1: Task failed with an exception. ----------- * Where: Build file '/root/.jenkins/workspace/common4/app/build.gradle' line: 51 * What went wrong: A problem occurred evaluating project ':app'. > Cannot convert URL 'F:/web-app/common4/.keystore' to a file. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
用下面办法解决 ==============================================================================
A problem occurred configuring project ':app'. > The SDK directory '/root/.jenkins/workspace/common4/C:\Users\Administrator\AppData\Local\Android\Sdk' does not exist.
那就注释掉,见下图
> Task :app:compileReleaseJavaWithJavac /root/.jenkins/workspace/common4/app/src/main/java/com/ggb/JSPushPlugin.java:8: error: package com.huawei.hms.api does not exist import com.huawei.hms.api.HuaweiApiClient;
增加一个,见下图
知会编译common4正常了
不过实际没有编译出来,是之前工程里已经编译好的文件,所以在build里先删除原先的这些文件,
再编译release结果是出现未签名的apk,结果安装出问题了
后面加上,这个,出现编译错误,
所以又做了次序的调整
这次总算生产app-release.apk文件了
cp /root/.jenkins/workspace/common-2/common-2.zip /root/.jenkins/workspace/common4 rm -rf $JENKINS_HOME/workspace/common4/app/src/main/assets/apps/HelloH5/www/* unzip -o $JENKINS_HOME/workspace/common4/common-2.zip -d $JENKINS_HOME/workspace/common4/app/src/main/assets/apps/HelloH5/www rm -f $JENKINS_HOME/workspace/common4/common-2.zip