android - Cordova在android项目中添加插件很慢

标签 android cordova ionic-framework hybrid-mobile-app

我们正在 CI 上自动构建 APK,但整个过程大约需要 10 分钟,80% 的时间都消耗在这个阶段。

Discovered plugin "cordova-plugin-statusbar" in config.xml. Adding it to the project
Installing "cordova-plugin-statusbar" for android
Adding cordova-plugin-statusbar to package.json
Saved plugin info for "cordova-plugin-statusbar" to config.xml.

这些是来自config.xml的插件

<plugin name="cordova-plugin-whitelist" spec="1.3.3" />
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
<plugin name="cordova-plugin-device" spec="2.0.2" />
<plugin name="cordova-plugin-splashscreen" spec="5.0.2" />
<plugin name="cordova-plugin-ionic-webview" spec="^2.0.0" />
<plugin name="phonegap-plugin-barcodescanner" spec="^8.0.0">
    <variable name="ANDROID_SUPPORT_V4_VERSION" value="27.+" />
</plugin>
<plugin name="cordova-plugin-camera-preview" spec="^0.10.0" />
<plugin name="cordova-plugin-screen-orientation" spec="^3.0.1" />
<plugin name="cordova.plugins.diagnostic" spec="^4.0.10" />
<plugin name="cordova-android-support-gradle-release" spec="^1.4.4">
    <variable name="ANDROID_SUPPORT_VERSION" value="26.+" />
</plugin>
<plugin name="cordova-sqlite-storage" spec="^2.4.0" />
<plugin name="cordova-plugin-ionic-keyboard" spec="^2.1.2" />
<plugin name="cordova-plugin-camera" spec="^4.0.3" />

是否可以通过某种方式缓存结果或任何其他方式来加速插件的安装来加速这些过程?

最佳答案

如果您将 Cordova plugins/ 目录置于版本控制之下(大概在您的 Git 存储库中),那么当在 CI 环境中 checkout 项目时,Cordova 将查找并使用这些本地插件而不是通过 npm 远程获取每一个。这应该会使这个过程更快。如果/当您需要更新插件时,只需将更新提交到存储库即可。

虽然理论上您也可以将 platforms/ 提交到您的存储库以使构建速度更快(然后 Cordova 不必安装和构建每个平台项目),但我建议不要这样做,因为Cordova 项目中的平台项目应被视为不稳定的。

关于android - Cordova在android项目中添加插件很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52835049/

相关文章:

android - 如何构建这个 Fragment/RecyclerView

android - 为什么当我滚动时,onTouchEvent 中的 smoothScrollTo 不起作用?

android - Ajax请求发送到服务器但返回状态码0

cordova - ionic cordova 从 sdcard 获取所有 mp3 文件

android - 使用 Ionic 处理 ZipAlign(Android 构建)

java - 安卓 : Storing ExtendedProperties on Exchange Server

java - 如何覆盖 Android debug、release、main 中的变量?

ios - Mach-O 链接器错误 Xcode 5

android - 在构建 cordova 项目时出现 ANDROID_HOME PATH 错误

android - jarsigner - 只能指定一个别名 - IONIC