build.gradle 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. import org.apache.tools.ant.taskdefs.condition.Os
  2. apply plugin: 'com.android.application'
  3. RES_PATH = RES_PATH.replace("\\", "/")
  4. COCOS_ENGINE_PATH = COCOS_ENGINE_PATH.replace("\\", "/")
  5. buildDir = "${RES_PATH}/proj/build/$project.name"
  6. android {
  7. compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
  8. buildToolsVersion PROP_BUILD_TOOLS_VERSION
  9. ndkPath PROP_NDK_PATH
  10. compileOptions {
  11. sourceCompatibility JavaVersion.VERSION_1_8
  12. targetCompatibility JavaVersion.VERSION_1_8
  13. }
  14. defaultConfig {
  15. applicationId APPLICATION_ID
  16. minSdkVersion PROP_MIN_SDK_VERSION
  17. targetSdkVersion PROP_TARGET_SDK_VERSION
  18. versionCode "${VERSION_CODE}".toInteger()
  19. versionName "${VERSION_NAME}"
  20. multiDexEnabled true
  21. externalNativeBuild {
  22. cmake {
  23. targets "cocos"
  24. 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"
  25. cppFlags "-frtti -fexceptions -fsigned-char"
  26. }
  27. ndk { abiFilters PROP_APP_ABI.split(':') }
  28. }
  29. manifestPlaceholders.put("APPLOG_SCHEME","rangersapplog.byAx6uYt".toLowerCase())
  30. }
  31. sourceSets.main {
  32. java.srcDirs "../src", "src"
  33. res.srcDirs "../res", 'res'
  34. jniLibs.srcDirs "../libs", 'libs'
  35. manifest.srcFile "AndroidManifest.xml"
  36. assets.srcDir "assets"
  37. jniLibs {
  38. // Vulkan validation layer
  39. // srcDir "${android.ndkDirectory}/sources/third_party/vulkan/src/build-android/jniLibs"
  40. }
  41. }
  42. externalNativeBuild {
  43. cmake {
  44. path "../CMakeLists.txt"
  45. buildStagingDirectory "${RES_PATH}/proj/build"
  46. }
  47. }
  48. signingConfigs {
  49. release {
  50. if (project.hasProperty("RELEASE_STORE_FILE") && !RELEASE_STORE_FILE.isEmpty()) {
  51. storeFile file(RELEASE_STORE_FILE)
  52. storePassword RELEASE_STORE_PASSWORD
  53. keyAlias RELEASE_KEY_ALIAS
  54. keyPassword RELEASE_KEY_PASSWORD
  55. }
  56. }
  57. }
  58. buildTypes {
  59. release {
  60. if (project.hasProperty("RELEASE_STORE_FILE")) {
  61. signingConfig signingConfigs.release
  62. }
  63. /**
  64. * 配置BuildConfig自动获取字段
  65. */
  66. buildConfigField "String", "TF_CHANNEL", "${TF_CHANNEL}"
  67. buildConfigField "String", "JL_AID", "${JL_AID}"
  68. buildConfigField "String", "JL_CHANNEL", "${JL_CHANNEL}"
  69. buildConfigField "String", "KS_AID", "${KS_AID}"
  70. buildConfigField "String", "KS_ANAME", "${KS_ANAME}"
  71. buildConfigField "String", "KS_CHANNEL", "${KS_CHANNEL}"
  72. buildConfigField "String", "UM_AID", "${UM_AID}"
  73. buildConfigField "String", "UM_CHANNEL", "${UM_CHANNEL}"
  74. buildConfigField "String", "UM_SECRET", "${UM_SECRET}"
  75. buildConfigField "String", "WX_APP_ID", "${WX_APP_ID}"
  76. buildConfigField "String", "TOPON", "${TOPON}"
  77. }
  78. debug {
  79. if (project.hasProperty("RELEASE_STORE_FILE")) {
  80. signingConfig signingConfigs.release
  81. }
  82. /**
  83. * 配置BuildConfig自动获取字段
  84. */
  85. buildConfigField "String", "TF_CHANNEL", "${TF_CHANNEL}"
  86. buildConfigField "String", "JL_AID", "${JL_AID}"
  87. buildConfigField "String", "JL_CHANNEL", "${JL_CHANNEL}"
  88. buildConfigField "String", "KS_AID", "${KS_AID}"
  89. buildConfigField "String", "KS_ANAME", "${KS_ANAME}"
  90. buildConfigField "String", "KS_CHANNEL", "${KS_CHANNEL}"
  91. buildConfigField "String", "UM_AID", "${UM_AID}"
  92. buildConfigField "String", "UM_CHANNEL", "${UM_CHANNEL}"
  93. buildConfigField "String", "UM_SECRET", "${UM_SECRET}"
  94. buildConfigField "String", "WX_APP_ID", "${WX_APP_ID}"
  95. buildConfigField "String", "TOPON", "${TOPON}"
  96. }
  97. }
  98. }
  99. android.applicationVariants.all { variant ->
  100. def outputDir ="${projectDir}/assets"
  101. def sourceDir = "${RES_PATH}/assets"
  102. // assert file("${sourceDir}/res").exists()
  103. delete "${outputDir}"
  104. def targetName = variant.name.capitalize()
  105. def copyTaskName = "copy${targetName}ResourcesToAssets"
  106. tasks.register(copyTaskName) {
  107. copy {
  108. from sourceDir
  109. into outputDir
  110. }
  111. }
  112. tasks.getByName("pre${targetName}Build").dependsOn copyTaskName
  113. }
  114. dependencies {
  115. implementation fileTree(dir: '../libs', include: ['*.jar','*.aar'])
  116. implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
  117. implementation fileTree(dir: "${COCOS_ENGINE_PATH}/cocos/platform/android/java/libs", include: ['*.jar'])
  118. implementation project(':libservice')
  119. implementation project(':libcocos')
  120. implementation "com.android.support:design:27.1.1"
  121. implementation 'com.android.support:multidex:1.0.3'
  122. implementation 'com.android.support:support-v4:27.1.1'
  123. implementation "com.android.support:appcompat-v7:27.1.1"
  124. implementation "com.android.support:recyclerview-v7:27.1.1"
  125. implementation "com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+"
  126. implementation "com.github.bumptech.glide:glide:4.8.0"
  127. annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
  128. implementation 'com.arialyy.aria:core:3.8.15'
  129. annotationProcessor 'com.arialyy.aria:compiler:3.8.15'
  130. implementation 'com.github.smarxpan:NotchScreenTool:0.0.1'//刘海适配
  131. implementation 'cn.thinkingdata.android:ThinkingAnalyticsSDK:2.7.0'//数数SDK
  132. implementation 'com.bytedance.applog:RangersAppLog-Lite-cn:5.5.1'
  133. }