首页 文章

Cordova Build - 无法找到已安装的Gradle版本

提问于
浏览
1

我正在尝试 Build 一个Cordova项目 . 我正在使用Ubuntu 17.04 . 我运行 sudo cordova build android 但是构建失败并显示以下消息:

Error: Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper. Please include gradle in your path, or install Android Studio

当我运行 cordova requirements android 时,我觉得很奇怪:

Requirements check results for android: Java JDK: installed 1.8.0 Android SDK: installed true Android target: installed android-26,android-25 Gradle: installed /home/viktor/.sdkman/candidates/gradle/4.0.2/bin/gradle

看起来像是安装了Gradle .

Gradle的路径也出现在 $PATH 中:

echo $PATH

/home/viktor/.sdkman/candidates/gradle/current/bin:/home/viktor/bin:/home/viktor/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/viktor/Android/Sdk/tools:/home/viktor/Android/Sdk/tools/bin:/home/viktor/Android/Sdk/platform-tools:/snap/bin

Cordova版本是7.0.1 .

有人可以帮我弄清楚为什么构建失败,即使安装了Gradle?

Edit: 好的,我试图通过 cordova create hello com.example.hello HelloWorld 创建一个全新的项目 . 该项目可以成功构建和运行 . 我正在尝试构建的项目有什么问题?

3 回答

  • 1

    我终于弄明白了 .

    项目中的某些文件已被锁定,由root拥有 . 当我用的时候

    cordova build android

    弹出一条错误消息,说某些文件无法读取 .

    因此,在建设时,我用过

    sudo cordova build android .

    这帮助我摆脱了许可问题,但这也是Gradle问题的真正原因......

    ...当使用 sudo 运行命令时,使用的 $PATH 变量是不同的(受限制的) . 在我的情况下,这是在没有 sudo 的情况下构建时使用的值:

    /home/viktor/.sdkman/candidates/gradle/current/bin:/home/viktor/bin:/home/viktor/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/viktor/Android/Sdk/tools:/home/viktor/Android/Sdk/tools/bin:/home/viktor/Android/Sdk/platform-tools:/snap/bin

    这是 $PATHsudo

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin

    如您所见,后者缺少Gradle的路径 .

    所以,这里的解决方案是 chmodchown 项目文件和构建没有 sudo 只是使用

    cordova build android .

  • 0

    对于那些使用旧版Android工作室的人来说,也许是问题所在 . 我没有安装它并安装了android studio 3(2017年10月)并安装了所有构建工具,更新了cordova模块(npm update cordova),现在一切都像发条一样! windows7用户!!

  • 0

    我在Ubuntu Mate 18.04上发生了同样的事情,这就是我修复它的方法,

    1)打开〜/ .bashrc文件 . 2)将这些行添加到最后 .

    export ANDROID_HOME=~/Android/Sdk/
    export PATH=${PATH}:~/Android/Sdk/platform-tools:~/Android/Sdk/tools
    export GRADLE_ANDROID_HOME=/opt/android-studio/gradle
    export PATH=$PATH:$GRADLE_ANDROID_HOME/gradle-4.6/bin
    export PATH=$PATH:$GRADLE_ANDROID_HOME/m2repository
    

    请记住根据您的设置替换这些路径(如果使用flatpaks,snaps..etc) . 我不知道为什么m2repository存在 . 但没有它,我的系统上的cordova构建失败了 .

相关问题