2017-08-07 73 views
0

我有一台机器没有互联网连接。设置完全脱机cordova构建

我在科尔多瓦创建了一个测试项目,使用cordova create hello com.example.hello HelloWorld; cd你好; cordova平台添加android。

我第一次用Cordova构建它(在有互联网的机器上),它下载了Gradle,然后我认为它是一堆Maven文件,其中将近200个文件。这些似乎被安装到〜/ .gradle,但我不确定这是唯一的地方。采样输出:

$ cordova build 
ANDROID_HOME=/opt/android 
JAVA_HOME=/usr/lib/jvm/java-8-oracle/ 
Subproject Path: CordovaLib 
Downloading https://services.gradle.org/distributions/gradle-3.3-all.zip 
............... 
Unzipping /home/ubuntu/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3-all.zip to /home/ubuntu/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9 
Set executable permissions for: /home/ubuntu/.gradle/wrapper/dists/gradle-3.3-all/55gk2rcmfc6p2dg9u9ohc3hw9/gradle-3.3/bin/gradle 
Starting a Gradle Daemon (subsequent builds will be faster) 
Download https://jcenter.bintray.com/com/android/tools/build/gradle/2.2.3/gradle-2.2.3.pom 
Download https://jcenter.bintray.com/com/android/tools/build/gradle-core/2.2.3/gradle-core-2.2.3.pom 
Download https://jcenter.bintray.com/com/android/tools/build/builder/2.2.3/builder-2.2.3.pom 
Download https://jcenter.bintray.com/com/android/tools/lint/lint/25.2.3/lint-25.2.3.pom 
(skip about 180 more lines here) 
Download https://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar 
Download https://repo1.maven.org/maven2/nekohtml/xercesMinimal/1.9.6.2/xercesMinimal-1.9.6.2.jar 
Download https://repo1.maven.org/maven2/nekohtml/nekohtml/1.9.6.2/nekohtml-1.9.6.2.jar 
The JavaCompile.setDependencyCacheDir() method has been deprecated and is scheduled to be removed in Gradle 4.0. 
Incremental java compilation is an incubating feature. 
The TaskInputs.source(Object) method has been deprecated and is scheduled to be removed in Gradle 4.0. Please use TaskInputs.file(Object).skipWhenEmpty() instead. 
:preBuild UP-TO-DATE 
(build continues normally here) 

现在,这可能是方便的,但从具有可重复构建环境的角度来看绝对不可取。

如何设置Cordova进行完全脱机构建?它会在第一个之后做离线构建,还是会检查(例如)Gradle更新?

我如何预先安装cordova构建的所有东西?有没有办法让Cordova把所有东西安装成独立于构建的步骤,并且将构建作为执行此安装的单独步骤?

我可归档的内容〜/ .gradle /次,然后做一个版本(无论是在同一台机器或一个不同的)前拆开包装并有构建脱机运行?如何将〜/ .gradle /移动到(例如)Cordova项目的子目录中?

我已将〜/ .gradle /文件夹复制到Ubuntu机器。

我错过了什么吗?

这是一个干净的安装Ubuntu 16.04中,从nodesource安装的节点和故宫。版本:

$ cordova --version 
7.0.1 
$ npm --version 
3.10.10 
$ node --version 
v6.10.3 

回答

0

听起来很棘手。一种可能性出现在我的脑海中:您可以使用已安装在您的机器上且没有互联网的android和cordova的docker图像。你会发现许多像这样的开源图像:docker-cordova当搜索例如“科多瓦码头形象”。

+0

没有。已安装的码头工人,并在我做了构建。结果,所需的内容被下载到码头。完成后。我COMMITED新形象tar文件并将其上传到离线机器。谢谢 – Matt