在 Android Gradle 依赖中编译多个模块

Compile multiple modules in Android Gradle Dependency

我正在尝试使用 andEngine 及其 physicsBox2D 扩展创建一个应用程序。为此,我必须添加 2 个模块,然后在我的应用程序中编译 - andEngineandEngine PhysicsBox2D。我有以下 Gradle 代码 -

apply plugin: 'com.android.model.application'

model {

android {
    compileSdkVersion = 22
    buildToolsVersion = "22.0.1"

    defaultConfig.with {
        applicationId = "com.sample.practice"
        minSdkVersion.apiLevel = 9
        targetSdkVersion.apiLevel = 22
        versionCode = 1
        versionName = "1.0"
    }
}

android.buildTypes {
    release {
        minifyEnabled = false
        proguardFiles += file('proguard-rules.pro')
    }
}
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':andEnginePhysicsBox2D')
    compile project(':andEngine')
}

但是这段代码给出了这个错误,而 运行 - ...java.exe finished with non zero exit value 2

如果我从 Gradle 中删除 compile project(':andEnginePhysicsBox2D'),应用程序运行良好。 但是此代码对于应用程序的运行很重要。关于如何在 Gradle 的依赖项中实现 andEngineandEngine PhysicsBox2D 的任何想法?

谢谢

PS - 我正在使用实验性的 Android Gradle 插件 V.0.2 和 Android Studio 1.3 一些NDK 的东西。

通过这个解决了问题-

1)andEngine中出现了一些问题,解决了这些错误。

2) 在 Gradle.

中启用 multiDex

Box2d 扩展需要 AndEngine 模块作为它的依赖,你的项目也需要它们作为它的依赖。还应该注意的是,依赖关系的顺序 也很重要

所以你应该确保你有三个 gradle 配置如下的文件。

  • 您的游戏gradle文件:

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile project(':andEngine')
        compile project(':andEnginePhysicsBox2D')
    }
    
  • AndEngine gradle 文件:

    它没有任何依赖性。

  • Box2d 扩展 gradle 文件:

    dependencies {
        compile project(':andEngine')
    }
    

我正在使用 Android Studio 1.2.2 以下脚本对我来说工作正常。

看看这是否有帮助?

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    defaultConfig {
        applicationId 'com.xxxx.yyy'
        minSdkVersion 8
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets { main { assets.srcDirs = ['src/main/assets', 'src/main/assets/gfx/'] } }
    productFlavors {
    }
}

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile project(':andengine')
    compile project(':andenginebox2dextension')
}