我正在尝试使用最新的工具构建Cordova Android项目.我按照这里的说明操作:
$ cordova create myApp com.myCompany.myApp myApp
$ cd myApp
$ cordova platform add android@6.2.1 --save
$ cordova requirements android --verbose
Run Code Online (Sandbox Code Playgroud)
但结果是:
Running command: android list targets
Command finished with error code 0: android list,targets
Requirements check results for android:
Java JDK: installed 1.8.0
Android SDK: installed true
Android target: installed android-25,android-23
Gradle: not installed
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
Error: CordovaError: Some of requirements check failed
at /usr/local/nodejs_next/lib/node_modules/cordova/src/cli.js:401:45
at _fulfilled (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:787:54)
at self.promiseDispatch.done (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:816:30)
at Promise.promise.promiseDispatch (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:749:13)
at /usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:557:44
at flush (/usr/local/nodejs_next/lib/node_modules/cordova/node_modules/q/q.js:108:17)
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickCallback (internal/process/next_tick.js:104:9)
Run Code Online (Sandbox Code Playgroud)
它似乎无法找到Gradle(不确定它应该在哪里).
我已经看到有关 Cordova和Android SDK Tools 25.3的问题的报告,但这似乎有所不同,我有25.2.3(见下文).
我有以下内容(这是在CentOS 6.8上):
$ cordova --version
6.5.0
$ node --version
v6.10.2
$ npm --version
3.10.10
$ java -version
openjdk version "1.8.0_121"
$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0
$ echo $ANDROID_HOME
/usr/local/android-sdk
# I installed the Android SDK from here
# https://developer.android.com/studio/index.html#downloads
# under "Get just the command line tools"
$ /usr/local/android-sdk/tools/bin/sdkmanager --list
Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
build-tools;23.0.3 | 23.0.3 | Android SDK Build-Tools 23.0.3 | build-tools/23.0.3/
build-tools;25.0.2 | 25.0.2 | Android SDK Build-Tools 25.0.2 | build-tools/25.0.2/
extras;android;m2repository | 47.0.0 | Android Support Repository | extras/android/m2repository/
extras;google;m2repository | 46 | Google Repository | extras/google/m2repository/
patcher;v4 | 1 | SDK Patch Applier v4 | patcher/v4/
platform-tools | 25.0.4 | Android SDK Platform-Tools | platform-tools/
platforms;android-23 | 3 | Android SDK Platform 23 | platforms/android-23/
platforms;android-25 | 3 | Android SDK Platform 25 | platforms/android-25/
tools | 25.2.3 | Android SDK Tools 25.2.3 | tools/
Run Code Online (Sandbox Code Playgroud)
更新:
在Cordova或Android的文档中似乎没有提到它,但如果您使用的是没有Android Studio的Android命令行工具,则必须手动安装Gradle.一旦你做了,它就在你的PATH上,这个错误就会消失.
另一件令我困惑的事情是:在早期版本的Android SDK工具中,有一个Gradle包装器脚本tools/templates/gradle/wrapper/gradlew.这也可以用来安装Gradle,但我发现手动安装它更容易.从最新版本开始,这似乎已被删除.
Dan*_*iel 61
我有类似的问题.我得到了错误:
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 Studi
Run Code Online (Sandbox Code Playgroud)
但没有例外.我在Ubuntu上解决了它
sudo apt-get install gradle
Run Code Online (Sandbox Code Playgroud)
我发现还允许在Ubuntu中安装最新版本的gradle的命令.它仅在以前执行第一个命令时起作用(可能是某些依赖项不正确).
sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update
sudo apt-get install gradle-ppa
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,请尝试:
export PATH=$PATH:/opt/gradle/gradle-3.5/bin
Run Code Online (Sandbox Code Playgroud)
更多信息:
https://askubuntu.com/questions/915980/package-is-installed-and-is-not-detected-gradle/915993#915993
gradleCentOS 的安装指示在此链接下
现在我通过sdkman安装gradle 它就像节点的nvm.
安装sdkman
curl -s "https://get.sdkman.io" | bash
Run Code Online (Sandbox Code Playgroud)
安装gradle
sdk install gradle 4.0.2
Run Code Online (Sandbox Code Playgroud)
Sur*_*tha 38
如果您安装了android studio,那么您可能想尝试:
export PATH="$PATH:/home/<username>/android-studio/gradle/<gradle-4.0>/bin"
Run Code Online (Sandbox Code Playgroud)
这解决了我的问题.
Dio*_*ues 16
对于Windows:
-下载Gradle的最新版本(https://gradle.org/releases)
-创建一个文件夹并解压缩文件(我使用C:\ Program Files(x86)\ gradle)
-复制包含bin目录的路径(C:\ Program Files(x86)\ gradle \ bin)
-将路径C:\ Program Files(x86)\ gradle \ bin(在我的示例中)设置为“路径环境变量”
变量名称“路径”和变量值“ C:\ Program Files(x86)\ gradle \ bin”:用户变量表和系统变量表
您可能需要重新打开“提示常用行”
要进行测试,请在提示符下键入gradle。
Gan*_*dhi 12
我使用Cordova版本7.0.1和Cordova Android版本是6.2.3.我在执行android构建时遇到了这个问题.我只使用Cordova CLI而根本不使用android studio.
在Cordova官方修复之前,此问题的快速解决方法如下:
check_reqs.js在platforms\android\cordova\lib文件夹下查找文件androidStudioPath变量null 的else部分检查get_gradle_wrapper函数如下:现有代码:
else { //OK, let's try to check for Gradle! return forgivingWhichSync('gradle'); }
修改后的代码
else { //OK, let's try to check for Gradle! var sdkDir = process.env['ANDROID_HOME']; return path.join(sdkDir, 'tools', 'templates', 'gradle', 'wrapper', 'gradlew'); }
注意:每次删除并重新添加Android平台时,都需要进行此更改
更新:在我的情况下,我已经在我的android SDK中有gradle包装器,我发现必须明确安装gradle.因此,我做了这个解决方法,以尽量减少我的影响和努力
小智 7
使用此解决方案,您无需在系统上多次安装 Gradle。
找到 Gradle 安装文件夹:转到C:\Users\<username>\.gradle\wrapper\dists. 选择一个版本(就我而言gradle-6.4-all)。进一步导航,直到到达“bin”文件夹。
将路径添加到Path环境变量中:开始菜单>输入“编辑环境变量”。在下部(系统变量)中查找“Path”变量,然后单击“编辑”。然后添加完整路径作为新值,在我的例子中C:\Users\<username>\.gradle\wrapper\dists\gradle-6.4-all\h8pi7famayzdg9sl28jayaip\gradle-6.4\bin。不要忘记保存您的更改!
不要忘记重新启动所有终端(例如重新启动 VS Code)。之后就在我的电脑上运行了!
通过在Mac上添加以下行,可以在Mac上添加Gradle ~/.bash_profile。如果文件不存在,请使用touch ~/.bash_profile。通过使用以下命令,可以在Finder中使此隐藏文件可见Command + Shift + .
export PATH=${PATH}:/Applications/Android\ Studio.app/Contents/gradle/gradle-4.6/bin/
Run Code Online (Sandbox Code Playgroud)
用于source ~/.bash_profile将新路径直接加载到当前终端会话中。
| 归档时间: |
|
| 查看次数: |
118030 次 |
| 最近记录: |