运行时,我一直会得到以下生成异常
cordova run android --verbose
其原因是,当我运行cordova build命令时,行正在更改;
distributionUrl=http\://services.gradle.org/distributions/gradle-2.1.0-all.zip
至
distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
有什么办法防止这种情况发生吗?
发布于 2017-05-21 18:44:32
更新:2017年5月21日
好吧,这是一个非常讨厌的问题,我觉得我不得不写完整的指令来修正,希望它能节省别人我在上面浪费的时间。下面是谷歌搜索、阅读公认的答案以及从尝试和错误中解决问题的结合。
在你做其他事情之前..。如果Docker正在运行,请确保关闭它。症状之一是在Android中,模拟器加载对话框就会悄然消失。如果您从app start命令运行,那么您的应用程序就只能等待连接到设备(消息发布)。
假设你已经这样做了,但仍然没有工作,继续读下去。
可选(可能):仅限于fyi -就我个人而言,我使用SDK Man在我的机器上安装了一个匹配的Gradle版本。
假设您已经有了一个可以工作的Android仿真器,可以使用Marshmallow或Nougat (或者两者兼有)。
就我而言,我当时正试图让科多瓦去工作。
根据你是否想重新开始(建议),然后:
cordova platform rm android
cordova platform add android
First需要下载。根据您的操作系统下载以下内容:
(我在Mac上运行,所以下载了:)
解压缩,并将templates
文件夹复制到/Users/arcseldon/Library/Android/sdk/tools
中
Explanation:查看module.exports.check_gradle
函数中的逻辑,该函数在platforms/android/cordova/check_reqs.js
下声明,以了解它如何尝试派生gradle包装器的路径。这件事是共同的。
$ echo $ANDROID_HOME
/Users/arcseldon/Library/Android/sdk
我可以看到一个tools
子目录,但里面没有templates
文件夹。因此,从下载并解压的zip中复制templates
文件夹,并将其粘贴到$ANDROID_HOME/tools
中。
您应该以一个路径层次结构结束,该层次结构包括:
/Users/arcseldon/Library/Android/sdk/tools/templates/gradle/wrapper
从脚本的角度来看,这现在满足了路径搜索。
其次,查看您的cordova应用程序中的平台/android/build.gradle,并搜索gradleVersion
。
task wrapper(type: Wrapper) { gradleVersion = '2.14.1' }
对于您的版本,请按以下方式从URL下载:
https://services.gradle.org/distributions/gradle-X.Y.Z-all.zip
根据需要替换X,Y,Z以匹配您的版本。
就我而言,
https://services.gradle.org/distributions/gradle-2.14.1-all.zip
其他例子:
https://services.gradle.org/distributions/gradle-3.3-all.zip https://services.gradle.org/distributions/gradle-2.4-all.zip
然后,一旦下载,放置在您的本地驱动器和引用ENV。变量。例如:(更改为您的版本)
export CORDOVA_ANDROID_GRADLE_DISTRIBUTION_URL=file:///Users/myusername/temp/gradle-2.14.1-all.zip
Explanation:,如果您运行搜索,您会发现这个环境变量是这个env的可选覆盖。变量。参见check_gradle
的变量赋值,在platforms/android/cordova/lib/builders/GradleBuilder.js
下声明
现在就跑吧:
cordova run android --verbose
一切都进行得很顺利,现在一切都应该对Android“起作用”了。在我的例子中,iOS是开箱即用的--但出于其他原因,我确实使用了Xcode 8.2而不是Xcode 8.3。
https://stackoverflow.com/questions/37125496
复制相似问题