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

相关文章
|
1月前
|
XML Java 数据库
安卓项目:app注册/登录界面设计
本文介绍了如何设计一个Android应用的注册/登录界面,包括布局文件的创建、登录和注册逻辑的实现,以及运行效果的展示。
139 0
安卓项目:app注册/登录界面设计
|
3月前
|
Java Android开发 C++
Android Studio JNI 使用模板:c/cpp源文件的集成编译,快速上手
本文提供了一个Android Studio中JNI使用的模板,包括创建C/C++源文件、编辑CMakeLists.txt、编写JNI接口代码、配置build.gradle以及编译生成.so库的详细步骤,以帮助开发者快速上手Android平台的JNI开发和编译过程。
234 1
|
29天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
81 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
2月前
|
Java 数据库 Android开发
一个Android App最少有几个线程?实现多线程的方式有哪些?
本文介绍了Android多线程编程的重要性及其实现方法,涵盖了基本概念、常见线程类型(如主线程、工作线程)以及多种多线程实现方式(如`Thread`、`HandlerThread`、`Executors`、Kotlin协程等)。通过合理的多线程管理,可大幅提升应用性能和用户体验。
120 15
一个Android App最少有几个线程?实现多线程的方式有哪些?
|
1月前
|
编译器 Android开发
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
配置环境变量,使CMakeLists.txt可直接使用Android NDK工具链编译项目
|
1月前
|
Ubuntu Shell API
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
Ubuntu 64系统编译android arm64-v8a 的openssl静态库libssl.a和libcrypto.a
|
2月前
|
存储 开发工具 Android开发
使用.NET MAUI开发第一个安卓APP
【9月更文挑战第24天】使用.NET MAUI开发首个安卓APP需完成以下步骤:首先,安装Visual Studio 2022并勾选“.NET Multi-platform App UI development”工作负载;接着,安装Android SDK。然后,创建新项目时选择“.NET Multi-platform App (MAUI)”模板,并仅针对Android平台进行配置。了解项目结构,包括`.csproj`配置文件、`Properties`配置文件夹、平台特定代码及共享代码等。
154 2
|
2月前
|
XML Android开发 数据格式
🌐Android国际化与本地化全攻略!让你的App走遍全球无障碍!🌍
在全球化背景下,实现Android应用的国际化与本地化至关重要。本文以一款旅游指南App为例,详细介绍如何通过资源文件拆分与命名、适配布局与方向、处理日期时间及货币格式、考虑文化习俗等步骤,完成多语言支持和本地化调整。通过邀请用户测试并收集反馈,确保应用能无缝融入不同市场,提升用户体验与满意度。
102 3
|
2月前
|
Java 数据库 Android开发
一个Android App最少有几个线程?实现多线程的方式有哪些?
本文介绍了Android应用开发中的多线程编程,涵盖基本概念、常见实现方式及最佳实践。主要内容包括主线程与工作线程的作用、多线程的多种实现方法(如 `Thread`、`HandlerThread`、`Executors` 和 Kotlin 协程),以及如何避免内存泄漏和合理使用线程池。通过有效的多线程管理,可以显著提升应用性能和用户体验。
69 10
|
1月前
|
安全 网络安全 Android开发
深度解析:利用Universal Links与Android App Links实现无缝网页至应用跳转的安全考量
【10月更文挑战第2天】在移动互联网时代,用户经常需要从网页无缝跳转到移动应用中。这种跳转不仅需要提供流畅的用户体验,还要确保安全性。本文将深入探讨如何利用Universal Links(仅限于iOS)和Android App Links技术实现这一目标,并分析其安全性。
216 0