【问题标题】:Some question about Cordova build process for Android关于 Android 的 Cordova 构建过程的一些问题
【发布时间】:2023-12-15 22:56:01
【问题描述】:

我开始学习 Ionic,创建了一个应用程序,在浏览器和安卓模拟器上运行它。一切似乎都很好。我只是对一些事情感到好奇,但不幸的是找不到任何具体的东西。

当我运行命令ionic cordova build android 时,控制台上会出现以下几行 -

> ionic-app-scripts build --target cordova --platform android
[13:16:50]  ionic-app-scripts 3.2.1

(--- SOME MORE LINES ---)

> cordova build android
Android Studio project detected
ANDROID_HOME=C:\Users\atiyar\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files\java\jdk1.8.0_202
studio

Welcome to Gradle 4.10.1!

Here are the highlights of this release:

(--- SOME MORE LINES ---)

Starting a Gradle Daemon (subsequent builds will be faster)
> Task :wrapper

BUILD SUCCESSFUL in 1m 20s
1 actionable task: 1 executed
Subproject Path: CordovaLib
Subproject Path: app
Downloading https://services.gradle.org/distributions/gradle-4.1-all.zip
.....................................................................................
Starting a Gradle Daemon (subsequent builds will be faster)
Download https://maven.google.com/com/android/tools/build/gradle/3.0.1/gradle-3.0.1.pom

(--- 257 MORE DOWNLOADS --- )
(--- SOME MORE LINES ---)

BUILD SUCCESSFUL in 47m 52s
46 actionable tasks: 46 executed
Built the following apk(s):
        D:\Code\Ionic\IonicSideMenuApp\platforms\android\app\build\outputs\apk\debug\app-debug.apk  

我想知道-

  1. 为什么项目被标识为“Android Studio 项目”?
    • 我使用 Ionic CLI 创建了项目。
  2. 为什么要下载 gradle-4.1-all.zip?
    • 按照here 的指示,我安装了最新版本(5.2.1)的 Gradle 并将其添加到 PATH
  3. 这些 .pom 和 .jar 文件(在 gradle-4.1-all.zip 之后下载)用于什么?
    • 我之前从未使用过 Gradle 构建系统
    • 看起来下载的文件存储在 C:\Users\UserName\.gradle 目录中
  4. 如果这些是用于构建应用程序的文件,那么主 gradle 二进制文件如何与它们一起使用?
    • 如果那是“gradle 的工作原理”,您能否推荐一个简化的资源来了解它?我试过 gradle documentation
  5. 它是如何识别 Gradle 4.10.1 的?
    • 我在我的机器上的 Android Studio 安装目录中找到了 gradle-4.10.1,但它没有添加到 PATH 中

所以,我似乎试图清楚地了解“Android 的 Cordova 构建过程的幕后”。任何建议将不胜感激。

【问题讨论】:

    标签: android cordova gradle build ionic4


    【解决方案1】:
    1. Cordova 本质上只是原生 Android 项目之上的一个网页。您的 cordova 应用程序在本机项目的 WebView 中运行。 Ionic 在 Cordova 上运行
    2. 原生 android 项目使用 gradle 作为构建工具
    3. .pom文件是原生android第三方依赖的配置文件,例如config.xml 用于科尔多瓦插件; .jar 是一个 java 存档,在您的情况下是第三方依赖项
    4. 我不太明白这个问题,但作为 Cordova 开发人员,gradle 并不是您真正需要担心的任何事情。 Android Studio 在自己的沙箱中运行,您的全局 gradle 不会影响沙箱。不要升级该沙箱的 gradle,它可能会破坏您的 cordova 项目
    5. cordova-android 是在您的原生项目中设置 gradle 版本的原因

    【讨论】:

      最近更新 更多