import org.apache.tools.ant.taskdefs.condition.Os apply plugin: 'com.android.application' RES_PATH = RES_PATH.replace("\\", "/") COCOS_ENGINE_PATH = COCOS_ENGINE_PATH.replace("\\", "/") buildDir = "${RES_PATH}/proj/build/$project.name" android { compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger() buildToolsVersion PROP_BUILD_TOOLS_VERSION ndkPath PROP_NDK_PATH compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { applicationId APPLICATION_ID minSdkVersion PROP_MIN_SDK_VERSION targetSdkVersion PROP_TARGET_SDK_VERSION versionCode "${VERSION_CODE}".toInteger() versionName "${VERSION_NAME}" multiDexEnabled true externalNativeBuild { cmake { targets "cocos" arguments "-DRES_DIR=${RES_PATH}", "-DCOCOS_X_PATH=${COCOS_ENGINE_PATH}", "-DANDROID_STL=c++_static", "-DANDROID_TOOLCHAIN=clang", "-DANDROID_ARM_NEON=TRUE", "-DANDROID_LD=gold" cppFlags "-frtti -fexceptions -fsigned-char" } ndk { abiFilters PROP_APP_ABI.split(':') } } manifestPlaceholders.put("APPLOG_SCHEME","rangersapplog.byAx6uYt".toLowerCase()) } sourceSets.main { java.srcDirs "../src", "src" res.srcDirs "../res", 'res' jniLibs.srcDirs "../libs", 'libs' manifest.srcFile "AndroidManifest.xml" assets.srcDir "assets" jniLibs { // Vulkan validation layer // srcDir "${android.ndkDirectory}/sources/third_party/vulkan/src/build-android/jniLibs" } } externalNativeBuild { cmake { path "../CMakeLists.txt" buildStagingDirectory "${RES_PATH}/proj/build" } } signingConfigs { release { if (project.hasProperty("RELEASE_STORE_FILE") && !RELEASE_STORE_FILE.isEmpty()) { storeFile file(RELEASE_STORE_FILE) storePassword RELEASE_STORE_PASSWORD keyAlias RELEASE_KEY_ALIAS keyPassword RELEASE_KEY_PASSWORD } } } buildTypes { release { if (project.hasProperty("RELEASE_STORE_FILE")) { signingConfig signingConfigs.release } /** * 配置BuildConfig自动获取字段 */ buildConfigField "String", "TF_CHANNEL", "${TF_CHANNEL}" buildConfigField "String", "JL_AID", "${JL_AID}" buildConfigField "String", "JL_CHANNEL", "${JL_CHANNEL}" buildConfigField "String", "KS_AID", "${KS_AID}" buildConfigField "String", "KS_ANAME", "${KS_ANAME}" buildConfigField "String", "KS_CHANNEL", "${KS_CHANNEL}" buildConfigField "String", "UM_AID", "${UM_AID}" buildConfigField "String", "UM_CHANNEL", "${UM_CHANNEL}" buildConfigField "String", "UM_SECRET", "${UM_SECRET}" buildConfigField "String", "WX_APP_ID", "${WX_APP_ID}" buildConfigField "String", "TOPON", "${TOPON}" } debug { if (project.hasProperty("RELEASE_STORE_FILE")) { signingConfig signingConfigs.release } /** * 配置BuildConfig自动获取字段 */ buildConfigField "String", "TF_CHANNEL", "${TF_CHANNEL}" buildConfigField "String", "JL_AID", "${JL_AID}" buildConfigField "String", "JL_CHANNEL", "${JL_CHANNEL}" buildConfigField "String", "KS_AID", "${KS_AID}" buildConfigField "String", "KS_ANAME", "${KS_ANAME}" buildConfigField "String", "KS_CHANNEL", "${KS_CHANNEL}" buildConfigField "String", "UM_AID", "${UM_AID}" buildConfigField "String", "UM_CHANNEL", "${UM_CHANNEL}" buildConfigField "String", "UM_SECRET", "${UM_SECRET}" buildConfigField "String", "WX_APP_ID", "${WX_APP_ID}" buildConfigField "String", "TOPON", "${TOPON}" } } } android.applicationVariants.all { variant -> def outputDir ="${projectDir}/assets" def sourceDir = "${RES_PATH}/assets" // assert file("${sourceDir}/res").exists() delete "${outputDir}" def targetName = variant.name.capitalize() def copyTaskName = "copy${targetName}ResourcesToAssets" tasks.register(copyTaskName) { copy { from sourceDir into outputDir } } tasks.getByName("pre${targetName}Build").dependsOn copyTaskName } dependencies { implementation fileTree(dir: '../libs', include: ['*.jar','*.aar']) implementation fileTree(dir: 'libs', include: ['*.jar','*.aar']) implementation fileTree(dir: "${COCOS_ENGINE_PATH}/cocos/platform/android/java/libs", include: ['*.jar']) implementation project(':libservice') implementation project(':libcocos') implementation "com.android.support:design:27.1.1" implementation 'com.android.support:multidex:1.0.3' implementation 'com.android.support:support-v4:27.1.1' implementation "com.android.support:appcompat-v7:27.1.1" implementation "com.android.support:recyclerview-v7:27.1.1" implementation "com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+" implementation "com.github.bumptech.glide:glide:4.8.0" annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0' implementation 'com.arialyy.aria:core:3.8.15' annotationProcessor 'com.arialyy.aria:compiler:3.8.15' implementation 'com.github.smarxpan:NotchScreenTool:0.0.1'//刘海适配 implementation 'cn.thinkingdata.android:ThinkingAnalyticsSDK:2.7.0'//数数SDK implementation 'com.bytedance.applog:RangersAppLog-Lite-cn:5.5.1' }