android - 如何使用 Gradle 构建系统让 PhoneGap 项目在 Android Studio 中运行

标签 android cordova gradle android-studio android-gradle-plugin

我正在尝试使用 Gradle 构建系统设置一个新的 PhoneGap 应用程序并在 Android Studio 中运行。

目前我已经成功创建了PhoneGap项目并导入了Android Studio。一切似乎都运行良好,但我不知道如何将其移至 Gradle 构建系统,或者即使可能。

有人可以帮忙吗?

最佳答案

我设法做到了。

您需要 Android Studio 和 Eclipse ADT 版本,以及 Cordova/PhoneGap 全部设置。

  1. 将 Cordova 项目导入 Eclipse。
  2. 转到文件 -> 导出... -> 生成 Gradle 构建文件。
  3. 单击“下一步”跳过“改为导入?”屏幕。
  4. 选择要导出的 Android 项目和 CordovaLib 项目,然后单击下一步。

  5. 完成后,打开 Android Studio。

  6. 转到文件 -> 导入项目...
  7. 选择由 Eclipse 生成的 Android 主项目的 build.gradle 文件,然后单击“确定”。
  8. 导入后,您可能会收到一些关于正在使用的较新 gradle 版本的警告,只需检查您的设置,它似乎可以自行解决。

  9. 此时,您应该有一个项目结构,它是您的主项目,但以 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 部署到设备或模拟器之前同步整个项目。

关于android - 如何使用 Gradle 构建系统让 PhoneGap 项目在 Android Studio 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21031135/

相关文章:

android - 程序类型已经存在 : com. google.common.util.concurrent.ListenableFuture

android - 更新了Android Studio 3.0 Stable之后,我在新的Gradle中迁移了项目,而在构建时遇到了问题

带有图像的 Android 应用程序崩溃

javascript - WP8 上的 Sencha Touch : Focus on textfield doesn't show soft keyboard

java - 无法打开 .jar 中的嵌套条目

Android——PhoneGap/WebView 忽略视口(viewport)元标记?

html - 如何在 phonegap android 应用程序中添加工作 iframe?

java - 单击时android更改按钮颜色将按钮变为橙色......为什么?

java - Android 从 Sqlite 数据库中保存并获取图像

android - 如何阻止 logcat 在 Android Studio 中滚动