如何使用 Gradle 构建系统让 PhoneGap 项目在 Android Studio 中运行
Posted
技术标签:
【中文标题】如何使用 Gradle 构建系统让 PhoneGap 项目在 Android Studio 中运行【英文标题】:How to Get a PhoneGap Project to Run in Android Studio with Gradle Build System 【发布时间】:2014-01-28 15:33:16 【问题描述】:我正在尝试设置一个新的 PhoneGap 应用程序,并使用 Gradle 构建系统在 android Studio 中运行。
目前我已经成功创建了PhoneGap项目并导入了Android Studio。一切似乎都运行良好,但我不知道如何将其移至 Gradle 构建系统,或者即使可能。
有人可以帮忙吗?
【问题讨论】:
如果你已经知道了,也可以在这里添加作为答案。你的博文看起来不错,我收藏了。 我还没弄清楚如何让它与 gradle 一起工作。我的文章是关于让它与 android studio 一起工作,但它不使用 gradle 构建系统。我什至认为我的文章不再有效,因为 android studio 有一些更新。 看起来这篇文章、@MattWhetton 的博客文章和issues.apache.org/jira/browse/CB-3445 是迄今为止关于该主题的大部分资源 【参考方案1】:我是 Android Studio 新手,仍然习惯于 AS 项目结构和 Gradle。
使用 Cordova 4.1.2 Android Studio 1.0.1
1) 我使用 Cordova CLI 创建了应用程序:
cordova 创建 CordovaAndroidApp
cd CordovaAndroidApp
cordova平台添加android
此版本的 Cordova 创建了 build.gradle 和 settings.gradle 文件。
2) 从 Android Studio 初始屏幕中,我选择了“开始一个新的 Android Studio 项目” 在第二个屏幕上,我检查了手机和平板电脑框;在第三个屏幕上,我选择了“不添加活动”
3) 在这个新的 Android Studio 应用程序中,从左侧面板的 Project 视图中选择了顶层项目,我选择了 File -> Import Project。在弹出的“select Eclipse or Gradle Project to Import”中,我选择了Cordova项目目录,向下点击到platforms/android目录,选择build.gradle文件,然后OK。
我能够毫无问题地构建和运行基本的 Cordova 项目(只是启动屏幕)。
【讨论】:
【参考方案2】:我设法做到了。
您需要 Android Studio 和 Eclipse ADT 版本,以及 Cordova/PhoneGap 全部设置。
-
将 Cordova 项目导入 Eclipse。
转到文件 -> 导出... -> 生成 Gradle 构建文件。
单击“下一步”跳过“改为导入?”屏幕。
选择要导出的 Android 项目和 CordovaLib 项目,然后单击下一步。
完成后,打开 Android Studio。
转到文件 -> 导入项目... 选择 Eclipse 生成的 Android 主项目的 build.gradle 文件,然后单击“确定”。导入后,您可能会收到一些关于正在使用的较新 gradle 版本的警告,只需检查您的设置,它似乎可以自行解决。
此时,您应该有一个作为主项目的项目结构,但将 CordovaLib 作为模块。
现在你可以在主项目目录中打开 build.gradle 文件并将其更改为:
buildscript
repositories
mavenCentral()
dependencies
classpath 'com.android.tools.build:gradle:0.11.+'
apply plugin: 'android'
android
compileSdkVersion 19
buildToolsVersion '19.1.0'
sourceSets
main
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
dependencies
compile fileTree(dir: 'libs', include: '*.jar')
compile project(':CordovaLib')
compile 'com.android.support:appcompat-v7:19.+'
您现在应该能够说服 Android Studio 进行编译了。
一个额外的提示是创建一个脚本来运行“cordova prepare”并将其作为外部工具添加到模块的运行配置中。 确保在将 APK 部署到设备或模拟器之前同步整个项目。
【讨论】:
供参考,更完整的gradle.config在这里:mail-archives.apache.org/mod_mbox/cordova-commits/201406.mbox/… 我通过在我的 build.gradle 中遵循这些配置成功地部署了我的应用程序......非常感谢!以上是关于如何使用 Gradle 构建系统让 PhoneGap 项目在 Android Studio 中运行的主要内容,如果未能解决你的问题,请参考以下文章
如何让 Eclipse 使用 Gradle 生成 MapStruct 映射器
如何在 Gradle 构建脚本(Android)中定义和使用常量?