import org.apache.tools.ant.taskdefs.condition.Os plugins { id 'com.android.application' } android { compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger() buildToolsVersion PROP_BUILD_TOOLS_VERSION defaultConfig { applicationId "com.fitchgc.headlesscocos" minSdkVersion PROP_MIN_SDK_VERSION targetSdkVersion PROP_TARGET_SDK_VERSION versionCode 1 versionName "1.0" ndk{ abiFilters 'armeabi-v7a','arm64-v8a', 'x86' } externalNativeBuild { ndkBuild { if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) { // skip the NDK Build step if PROP_NDK_MODE is none targets 'cocos2djs' arguments 'NDK_TOOLCHAIN_VERSION=clang' def module_paths = [project.file(rootProject.ext.cfgs.cocos2dxBasePath), project.file(rootProject.ext.cfgs.cocos2dxBasePath+"/cocos"), project.file(rootProject.ext.cfgs.cocos2dxBasePath+"/external")] if (Os.isFamily(Os.FAMILY_WINDOWS)) { arguments 'NDK_MODULE_PATH=' + module_paths.join(";") } else { arguments 'NDK_MODULE_PATH=' + module_paths.join(':') } arguments '-j' + Runtime.runtime.availableProcessors() abiFilters.addAll(PROP_APP_ABI.split(':').collect{it as String}) } } } } sourceSets.main { java.srcDirs "../src", "src" res.srcDirs "../res", 'res' jniLibs.srcDirs "../libs", 'libs', rootProject.ext.cfgs.unityAndroidProject + '/src/main/jniLibs' manifest.srcFile "AndroidManifest.xml" } externalNativeBuild { ndkBuild { if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) { // skip the NDK Build step if PROP_NDK_MODE is none path "jni/Android.mk" } } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } } android.applicationVariants.all { variant -> // delete previous files first delete "${buildDir}/intermediates/merged_assets/${variant.dirName}" variant.mergeAssets.doLast { def sourceDir = rootProject.ext.cfgs.jsFilePath copy{ from "${sourceDir}" include "js/**" into outputDir } def sourceDirUnity = rootProject.ext.cfgs.unityAndroidProject + "/src/main/assets/" copy { from "${sourceDirUnity}" include "bin/**" into outputDir } // copy { // from "${sourceDir}/main.js" // into outputDir // } } } dependencies { implementation fileTree(dir: '../libs', include: ['*.jar','*.aar']) implementation fileTree(dir: 'libs', include: ['*.jar','*.aar']) implementation fileTree(dir: rootProject.ext.cfgs.cocos2dxBasePath + "/cocos/platform/android/java/libs", include: ['*.jar']) implementation project(':libcocos2dx') implementation "androidx.appcompat:appcompat:1.0.2" implementation files('../libs/unity-classes.jar') }