cordova@11 依赖环境:

  • Java_jdk@1.8.0
  • Nodejs@12.22.9
  • android-sdk
    • Build-tools 28
    • API 28
  • apache-ant@1.10.12
  • gradle@4.10.3

1、下载docker镜像 ubuntu

docker pull ubuntu

2、创建容器,挂载 E:\Downloads 到容器

docker run -i -t -v /e/Downloads:/Downloads ubuntu:latest /bin/bash

3、分别下载以下文件到 E:\Downloads

此时目录被挂载到了容器内,可以在容器内访问下载的文件。

4、将以上文件解压到 /root/devtools/

# 创建文件夹
mkdir /root/devtools/
# 解压文件
unzip /Downloads/commandlinetools-linux-8092744_latest.zip -d /root/devtools/
unzip /Downloads/gradle-4.10.3-all.zip -d /root/devtools/
tar -xzvf /Downloads/apache-ant-1.10.12-bin.tar.gz -C /root/devtools/
tar -xzvf /Downloads/node-v12.22.9-linux-x64.tar.gz -C /root/devtools/
tar -xzvf /Downloads/jdk-8u321-linux-x64.tar.gz -C /root/devtools/

目录如下:

root
┕ devtools
└ jdk1.8.0_321
└ node-v12.22.9-linux-x64
└ apache-ant-1.10.12
└ gradle-4.10.3
└ Android
└ sdk
└ cmdline-tools
└ latest
├ NOTICE.txt
├ bin
├ lib
└ source.properties

注意:安卓目录必须按照以上示例的结构,否则安装api时会报错

5、配置环境变量

编辑profile文件 vim /etc/profile ,添加以下内容:

set java environment
JAVA_HOME=/root/devtools/jdk1.8.0_321
JRE_HOME=/root/devtools/jdk1.8.0_321/jre
NODE_PATH=/root/devtools/node-v12.22.9-linux-x64
ANT_HOME=/root/devtools/apache-ant-1.10.12
ANDROID_HOME=/root/devtools/Android/sdk
GRADLE_PATH=/root/devtools/gradle-4.10.3
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$NODE_PATH/bin:$ANT_HOME/bin:$ANDROID_HOME/cmdline-tools/latest/bin:$GRADLE_PATH/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH ANDROID_HOME ANT_HOME

运行 source /etc/profile 让配置生效

如果vim输入麻烦,可以将 /etc/profile 文件 cp 到 /Downloads 目录下,在外层改完后再 cp 回去

进入容器每次都需要运行 source /etc/profile 才能让变量生效,可以在 ~/.bashrc 文件最后一行添加 source /etc/profile

6、重启容器,安装安卓 api 和 build-tools

# 添加安卓 api28 和 build-tool28
sdkmanager "build-tools;28.0.3" "platforms;android-28" "platform-tools"

7、安装cordova

npm install -g cordova@11.0.0

如果报错 sh: 1: node: Permission denied 则执行以下命令:

npm config set user 0
npm config set unsafe-perm true

8、将容器保存为 docker 镜像

退出容器 exit,执行命令:

docker commit [容器ID] cordova:1.0

9、命令行使用镜像打包apk

docker run --rm -i -t -v [APP项目根目录]:/appDir cordova:1.0 /bin/bash -c "source /etc/profile && cd /appDir && cordova build android"

这条命令首先将APP目录挂载到容器,进入容器后自动cd到APP目录下执行打包命令,打包完毕后容器会被删除。 如果重复提醒 May Cordova anonymously report usage statistics to improve the tool over time?,可以先把APP目录挂载进去运行一次打包,再提交镜像,就不会重复下载 gradle 了。

文章来源:https://www.cnblogs.com/flicat/p/16093696.html

docker搭建cordova 11环境的更多相关文章

  1. 使用Docker搭建Tomcat运行环境

    1 准备宿主系统 准备一个 CentOS 7操作系统,具体要求如下: 必须是 64 位操作系统 建议内核在 3.8 以上 通过以下命令查看您的 CentOS 内核: # uname -r 2 安装Do ...

  2. 利用Docker搭建本地https环境的完整步骤

    利用Docker搭建本地https环境的完整步骤 这篇文章主要给大家介绍了关于如何利用Docker搭建本地https环境的完整步骤,文中通过示例代码将实现的步骤介绍的非常详细,对大家的学习或者工作具有 ...

  3. Docker最全教程之使用Docker搭建Java开发环境(十七)

    前言 Java是一门面向对象的优秀编程语言,市场占有率极高,但是在容器化实践过程中,发现官方支持并不友好,同时与其他编程语言的基础镜像相比(具体见各语言镜像比较),确实是非常臃肿. 本篇仅作探索,希望 ...

  4. 怎么使用Docker搭建PHP开发环境呢?

    在Docker流行之前,要搭建开发环境通常有两种选择:一种是使用wamp.xampp.mamp等集成开发环境安装包,另外一种就是使用普通虚拟机来安装linux服务器,然后通过下载一键安装包(如:lnm ...

  5. mac下搭建cordova开发环境

    Apache Cordova 原名叫PhoneGap.是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台.PhoneGap最初由Nitobi开发,2011年 ...

  6. docker 搭建 web 服务环境

    docker容器虽然早就听说过,但是本人还真的没去用过,刚好看到相关的文章,就分享了下,有机会可以实践下...... 做过开发的人对开发环境的安装.配置应该都不会太陌生,不管你做什么开发,对开发环境都 ...

  7. 在windows环境里,用Docker搭建Redis开发环境(新书第一个章节)

    大家都知道高并发分布式组件的重要性,而且如果要进大厂,这些技术不可或缺.但这些技术的学习难点在于,大多数项目里的分布式组件,都是搭建在Linux系统上,在自己的windows机器上很难搭建开发环境,如 ...

  8. 使用 Docker 搭建 Tomcat 运行环境

    转自: http://m.oschina.net/blog/616526, 版权归原作者所有. 1 Docker与虚拟机     2 搭建过程 2.1 准备宿主系统 准备一个 CentOS 7操作系统 ...

  9. 搭建Cordova开发环境

    Cordova是什么 Apache Cordova是一套设备API,允许移动应用的开发者使用JavaScript来访问本地设备的功能,比如摄像头.加速计.它可以与UI框架(如jQuery Mobile ...

随机推荐

  1. 5. Java方法

    5.Java方法 1.何谓方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 设计方法的原则:方法 ...

  2. 无法加载文件 **.ps1,系统中禁止执行脚本

    控制台执行命令后出现 无法加载文件 ******.ps1,因为在此系统中禁止执行脚本.有关详细信息,请参阅 "get-help about_signing" 在控制台执行命令: s ...

  3. 分布式 PostgreSQL 集群(Citus)官方示例 - 实时仪表盘

    Citus 提供对大型数据集的实时查询.我们在 Citus 常见的一项工作负载涉及为事件数据的实时仪表板提供支持. 例如,您可以是帮助其他企业监控其 HTTP 流量的云服务提供商.每次您的一个客户端收 ...

  4. VTK读取数据

    #include <vtkSmartPointer.h> #include <vtkSimplePointsReader.h> #include <vtkPolyData ...

  5. 2022年官网下安装Redis最全版与官网查阅方法

    目录 安装部署Redis 一.下载安装 1.百度搜索Redis,双击进入. 2.下载稳定版(服务器版本),如图所示 3.找到下载的位置,解压压缩包(查看发现不是windows版本) 4.官网没有win ...

  6. 2022年官网下安装Studio 3T最全版与官网查阅方法(无需注册下载版)

    目录 一.环境 1.构建工具(参考工具部署方式) 2.保持启动 二.下载安装 1.百度搜索,或者访问官网:https://robomongo.org/,选择下载进入下载页. 2.进入下载页,选择如下下 ...

  7. jdk配置完成tomcat无法启动问题解决

    今天在进行struts2练习之前,准备为电脑配置tomcat容器,发现jdk的java指令可以正确运行,而tomcat启动时控制台弹出后立即消失.查资料显示jdk为正确配置,但是自己的java指令都能 ...

  8. 一文搞懂 SLAM 中的Extension Kalman Filter 算法编程

    作者 | Doreen 01 问题描述 预先知道事物未来的状态总是很有价值的! √ 预知台风的路线可以避免或减轻重大自然灾害的损失. √ 敌国打过来的导弹,如果能够高精度预测轨迹,就能有效拦截. √ ...

  9. 阿里云开源镜像站支持IPv6访问

    阿里云开源镜像站在国内企业镜像站中率先支持IPv6访问! 点击立即试用https://developer.aliyun.com/mirror/ 同时基于阿里云OpenSearch的搜索能力,开源镜像站 ...

  10. sql高级手工注入

    非常重要:首先在网站找到管理入口,否则,呵呵就算有用户名和密码,找不到入口,也是白玩.. 注入时,注意通过改变大小写.编码.转换等方式躲过系统检查,顺利执行语句!!! (一)数字型注入 正常步骤: 1 ...