Android Studio和PhoneGap,模块android没有gradle支持。

4

前段时间,我曾使用Eclipse和Phonegap成功部署了几个Android应用程序。现在,我正在尝试在Android Studio中启动新的Phonegap/Cordova应用程序,但迄今为止没有成功。以下是我尝试过的方法:

1)我已生成Cordova应用并添加了Android平台。

cordova create hello com.example.hello HelloWorld
cd hello
cordova platform add android
cordova -version

enter image description here好的,这个起作用了

2) 然后我启动Android Studio并导入生成的应用程序,出现“此项目的Gradle设置尚未配置”消息,然后我按OK。 enter image description here

3) 然后我遇到了一个错误:“需要Gradle版本1.10。当前版本为2.2.1”,经过一番搜索,我在这里找到了一条提示,我改变了Gradle中的一行代码从'com.android.tools.build:gradle:0.10.+':0.14.+',现在顶部的RUN图标已经启用了,所以至少似乎已经修复了某些问题。虽然版本号对我来说没有意义,但据我所知,版本非常具体。

但是现在,我被卡在了“模块android没有被Gradle支持”的错误上,我不知道该怎么办。

enter image description here

非常感谢任何帮助。


现在,Cordova 应用程序还不支持 Android Studio,不过 Cordova 3.7 将很快发布,我认为它将提供支持。 - jcesarmobile
Cordova js 3.7于去年11月发布(请参见下面的链接),而我正在使用Cordova-CLI v4.2.0,如第一张截图所示。因此,我不确定您指的是v3.7的具体含义。http://cordova.apache.org/announcements/2014/11/06/cordova-ios-3.7.0.html - BdR
抱歉,我指的是 Cordova Android(最新版本为3.6.4),现在每个平台都有自己的版本。http://cordova.apache.org/news/2015/01/09/tools-release.html - jcesarmobile
2个回答

22

好的,我已经理清楚了,所以我将回答自己的问题。希望它也能有助于其他尝试做同样事情的人。

实际上有两个 build.gradle 文件,一个在主项目中,另一个在 CordovaLib 文件夹中。我猜 CordovaLib 是主项目中的一个子项目。因此,在生成 Cordova 项目并将其导入 Android Studio 后会出现错误。

Error:Gradle version 1.10 is required. Current version is 2.2.1.

编辑build.gradle文件并在两个文件中进行以下更改:
classpath 'com.android.tools.build:gradle:0.10.+'
更改为: classpath 'com.android.tools.build:gradle:1.0.0'
顺便说一句,我知道错误消息显示v1.10,但将其更改为那个版本会出现另一个错误“找不到...”,而“1.0.0”似乎可以正常工作,所以你知道怎么弄...

然后我从菜单中选择“Build”->“Rebuild Project”,它会出现另一个错误。

Error:The SDK Build Tools revision (19.0.0) is too low for project 'android'.
Minimum required is 19.1.0

点击错误信息没有任何效果,我再次编辑build.gradle文件,并在两个文件中将buildToolsVersion "19.0.0"更改为buildToolsVersion "19.1.0"。总的来说,更改如下所示:

enter image description here

然后再从菜单中选择Build -> Rebuild Project,它将在Gradle控制台中给出一个错误。

Error: Task '' not found in root project 'android'.

只需忽略它,然后再次执行Build -> Rebuild Project,然后它将给出一个信息对话框“语言级别更改将在重新加载项目时生效。是否现在重新加载项目“android”?”并按“是”。

项目将重新加载,并已准备好在设备或模拟器上运行。 :) 哎呀..


非常感谢!对我来说,1.0.0而不是1.10是关键。 - Daniel Kaplan
你在执行上述操作之后是否遇到了类似这样的问题?错误:无法加载类 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'。 - Francisc0
不好意思,我不知道,但那看起来像是一个独立的与Groovy相关的问题。 - BdR

1

this link开始

Cordova现在支持使用Gradle进行Android构建。

要使用gradle构建cordova

  1. 右键单击我的电脑 -> 属性 -> 高级系统设置 -> 环境变量并创建具有值为gradleANDROID_BUILD系统变量。

  2. 现在,cordova build android将创建一个Gradle项目,可以轻松导入为Android Studio项目。

注意:

如果您在代理后面,则必须首先设置代理

 gradlew -Dhttp.proxyHost=proxy.blah.com -Dhttp.proxyPort=8000  

在您的目录中将自动生成gradlew批处理文件

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接