jenkins编译H5做的android端编译卫士app记录

简介: jenkins编译H5做的android端编译卫士app记录

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

相关文章
|
4天前
|
Android开发 iOS开发
android自动化编译
android自动化编译
|
5天前
|
ARouter IDE 开发工具
Android面试题之App的启动流程和启动速度优化
App启动流程概括: 当用户点击App图标,Launcher通过Binder IPC请求system_server启动Activity。system_server指示Zygote fork新进程,接着App进程向system_server申请启动Activity。经过Binder通信,Activity创建并回调生命周期方法。启动状态分为冷启动、温启动和热启动,其中冷启动耗时最长。优化技巧包括异步初始化、避免主线程I/O、类加载优化和简化布局。
26 3
Android面试题之App的启动流程和启动速度优化
|
3天前
|
缓存 JSON 网络协议
Android面试题:App性能优化之电量优化和网络优化
这篇文章讨论了Android应用的电量和网络优化。电量优化涉及Doze和Standby模式,其中应用可能需要通过用户白名单或电池广播来适应限制。Battery Historian和Android Studio的Energy Profile是电量分析工具。建议减少不必要的操作,延迟非关键任务,合并网络请求。网络优化包括HTTPDNS减少DNS解析延迟,Keep-Alive复用连接,HTTP/2实现多路复用,以及使用protobuf和gzip压缩数据。其他策略如使用WebP图像格式,按网络质量提供不同分辨率的图片,以及启用HTTP缓存也是有效手段。
24 9
|
4天前
|
XML 监控 安全
Android App性能优化之卡顿监控和卡顿优化
本文探讨了Android应用的卡顿优化,重点在于布局优化。建议包括将耗时操作移到后台、使用ViewPager2实现懒加载、减少布局嵌套并利用merge标签、使用ViewStub减少资源消耗,以及通过Layout Inspector和GPU过度绘制检测来优化。推荐使用AsyncLayoutInflater异步加载布局,但需注意线程安全和不支持特性。卡顿监控方面,提到了通过Looper、ChoreographerHelper、adb命令及第三方工具如systrace和BlockCanary。总结了Choreographer基于掉帧计算和BlockCanary基于Looper监控的原理。
15 3
|
3天前
|
C# Android开发 开发者
Android gradle编译时字节码处理
Android gradle编译时字节码处理
9 1
|
16天前
|
安全 Android开发 数据安全/隐私保护
同样的 APP 为何在 Android 8 以后网络感觉变卡?
【6月更文挑战第8天】Android 8 及以后系统中,APP 网络感觉变卡源于更严格的安全机制和后台限制,系统对网络优化的侧重改变,以及APP自身兼容性问题。开发者需优化APP,适应新系统,用户可更新APP或检查权限设置。通过共同努力,有望改善网络卡顿现象,提升用户体验。
|
2天前
|
Java Android开发 Kotlin
Android面试题:App性能优化之Java和Kotlin常见的数据结构
Java数据结构摘要:ArrayList基于数组,适合查找和修改;LinkedList适合插入删除;HashMap1.8后用数组+链表/红黑树,初始化时预估容量可避免扩容。SparseArray优化查找,ArrayMap减少冲突。 Kotlin优化摘要:Kotlin的List用`listOf/mutableListOf`,Map用`mapOf/mutableMapOf`,支持操作符重载和扩展函数。序列提供懒加载,解构用于遍历Map,扩展函数默认参数增强灵活性。
10 0
|
3天前
|
Java 程序员 API
Android 编译插桩操纵字节码
Android 编译插桩操纵字节码
5 0
|
5天前
|
移动开发 小程序 安全
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
|
1月前
|
移动开发 网络协议 安全
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
HTML5页面被运营商DNS问题及解决方案,app中h5页面源码的获取
86 4