build.gradle 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. import org.apache.tools.ant.taskdefs.condition.Os
  2. apply plugin: 'com.android.application'
  3. android {
  4. compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
  5. buildToolsVersion PROP_BUILD_TOOLS_VERSION
  6. lintOptions {
  7. abortOnError false
  8. }
  9. packagingOptions{
  10. doNotStrip "libs/armeabi-v7a/shuzilm/libdu.so"
  11. }
  12. defaultConfig {
  13. applicationId PACKAGE_NAME
  14. minSdkVersion PROP_MIN_SDK_VERSION
  15. targetSdkVersion PROP_TARGET_SDK_VERSION
  16. versionCode VERSION_CODE.toInteger()
  17. versionName VERSION_NAME.toString()
  18. multiDexEnabled true
  19. ndk {
  20. abiFilters 'armeabi-v7a'
  21. }
  22. manifestPlaceholders = [
  23. JPUSH_PKGNAME : applicationId,
  24. JPUSH_APPKEY : "28d4fba7592e39ac468718d5", //JPush 上注册的包名对应的 Appkey.
  25. JPUSH_CHANNEL : "developer-default", //暂时填写默认值即可.
  26. //xiaomi_config_start
  27. XIAOMI_APPID : "MI-2882303761520114164",
  28. XIAOMI_APPKEY : "MI-5962011482164",
  29. //xiaomi_config_end
  30. //oppo_config_start
  31. OPPO_APPKEY : "OP-bf759a9be2fa46f68c9c6504907c5d68",
  32. OPPO_APPID : "OP-30688539",
  33. OPPO_APPSECRET: "OP-2e3d7b2f798e461facd5edc0df70485b",
  34. //oppo_config_end
  35. //vivo_config_start
  36. VIVO_APPKEY : "e7f6cd44bca3d8d9880bf36c79ddbe33",
  37. VIVO_APPID : "105525399",
  38. //vivo_config_end
  39. ]
  40. externalNativeBuild {
  41. ndkBuild {
  42. if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
  43. // skip the NDK Build step if PROP_NDK_MODE is none
  44. targets 'cocos2djs'
  45. arguments 'NDK_TOOLCHAIN_VERSION=clang'
  46. def module_paths = [project.file("${System.getenv("COCOSCREATOR_HOME")}/resources/.editors/Creator/2.4.5/resources/cocos2d-x"),
  47. project.file("${System.getenv("COCOSCREATOR_HOME")}/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos"),
  48. project.file("${System.getenv("COCOSCREATOR_HOME")}/resources/.editors/Creator/2.4.5/resources/cocos2d-x/external")]
  49. if (Os.isFamily(Os.FAMILY_WINDOWS)) {
  50. arguments 'NDK_MODULE_PATH=' + module_paths.join(";")
  51. }
  52. else {
  53. arguments 'NDK_MODULE_PATH=' + module_paths.join(':')
  54. }
  55. arguments '-j' + Runtime.runtime.availableProcessors()
  56. abiFilters.addAll(PROP_APP_ABI.split(':').collect{it as String})
  57. }
  58. }
  59. }
  60. }
  61. sourceSets.main {
  62. java.srcDirs "../src", "src"
  63. res.srcDirs "../res", 'res'
  64. jniLibs.srcDirs "../libs", 'libs'
  65. res.srcDirs += "libs/topon/res" //这边是全路径
  66. manifest.srcFile "AndroidManifest.xml"
  67. }
  68. externalNativeBuild {
  69. ndkBuild {
  70. if (!project.hasProperty("PROP_NDK_MODE") || PROP_NDK_MODE.compareTo('none') != 0) {
  71. // skip the NDK Build step if PROP_NDK_MODE is none
  72. path "jni/Android.mk"
  73. }
  74. }
  75. }
  76. signingConfigs {
  77. release {
  78. storeFile file(new File('./keystore/kncdsf.keystore'))
  79. storePassword RELEASE_STORE_PASSWORD
  80. keyAlias RELEASE_KEY_ALIAS
  81. keyPassword RELEASE_KEY_PASSWORD
  82. }
  83. }
  84. buildTypes {
  85. release {
  86. signingConfig signingConfigs.release
  87. debuggable false
  88. jniDebuggable false
  89. renderscriptDebuggable false
  90. minifyEnabled false
  91. shrinkResources false
  92. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  93. if (project.hasProperty("RELEASE_STORE_FILE")) {
  94. signingConfig signingConfigs.release
  95. }
  96. externalNativeBuild {
  97. ndkBuild {
  98. arguments 'NDK_DEBUG=0'
  99. }
  100. }
  101. //FC:生成BuildConfig文件
  102. buildConfigField "String", "TF_CHANNEL", "${TF_CHANNEL}"
  103. buildConfigField "String", "JL_AID", "${JL_AID}"
  104. buildConfigField "String", "JL_CHANNEL", "${JL_CHANNEL}"
  105. buildConfigField "String", "KS_AID", "${KS_AID}"
  106. buildConfigField "String", "KS_ANAME", "${KS_ANAME}"
  107. buildConfigField "String", "KS_CHANNEL", "${KS_CHANNEL}"
  108. buildConfigField "String", "UM_AID", "${UM_AID}"
  109. buildConfigField "String", "UM_CHANNEL", "${UM_CHANNEL}"
  110. buildConfigField "String", "UM_SECRET", "${UM_SECRET}"
  111. buildConfigField "String", "WX_APP_ID", "${WX_APP_ID}"
  112. buildConfigField "String", "TOPON", "${TOPON}"
  113. buildConfigField "String", "APP_CONFIG_CODE", "${APP_CONFIG_CODE}"
  114. }
  115. debug {
  116. signingConfig signingConfigs.release
  117. debuggable true
  118. jniDebuggable true
  119. renderscriptDebuggable true
  120. externalNativeBuild {
  121. ndkBuild {
  122. arguments 'NDK_DEBUG=1'
  123. }
  124. }
  125. //FC:生成BuildConfig文件
  126. buildConfigField "String", "TF_CHANNEL", "${TF_CHANNEL}"
  127. buildConfigField "String", "JL_AID", "${JL_AID}"
  128. buildConfigField "String", "JL_CHANNEL", "${JL_CHANNEL}"
  129. buildConfigField "String", "KS_AID", "${KS_AID}"
  130. buildConfigField "String", "KS_ANAME", "${KS_ANAME}"
  131. buildConfigField "String", "KS_CHANNEL", "${KS_CHANNEL}"
  132. buildConfigField "String", "UM_AID", "${UM_AID}"
  133. buildConfigField "String", "UM_CHANNEL", "${UM_CHANNEL}"
  134. buildConfigField "String", "UM_SECRET", "${UM_SECRET}"
  135. buildConfigField "String", "WX_APP_ID", "${WX_APP_ID}"
  136. buildConfigField "String", "TOPON", "${TOPON}"
  137. buildConfigField "String", "APP_CONFIG_CODE", "${APP_CONFIG_CODE}"
  138. }
  139. }
  140. }
  141. android.applicationVariants.all { variant ->
  142. // delete previous files first
  143. delete "${buildDir}/intermediates/merged_assets/${variant.dirName}"
  144. variant.mergeAssets.doLast {
  145. def sourceDir = "${buildDir}/../../../../.."
  146. copy {
  147. from "${sourceDir}"
  148. include "assets/**"
  149. include "src/**"
  150. include "jsb-adapter/**"
  151. into outputDir
  152. }
  153. copy {
  154. from "${sourceDir}/main.js"
  155. from "${sourceDir}/project.json"
  156. into outputDir
  157. }
  158. }
  159. }
  160. dependencies {
  161. implementation fileTree(dir: '../libs', include: ['*.jar','*.aar'])
  162. implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
  163. implementation fileTree(dir: "${System.getenv("COCOSCREATOR_HOME")}/resources/.editors/Creator/2.4.5/resources/cocos2d-x/cocos/platform/android/java/libs", include: ['*.jar'])
  164. implementation project(':libcocos2dx')
  165. //微信SDK(自动集成)
  166. // api 'com.tencent.mm.opensdk:wechat-sdk-android-without-mta:+'
  167. //聚合SDK(手动导入SDK包)
  168. api 'androidx.appcompat:appcompat:1.0.0' //Gradle中要补充Support v7插件的引入,否则会集成失败
  169. api fileTree(include: ['*.jar','*.aar'], dir: 'libs/topon')
  170. api fileTree(include: ['*.jar','*.aar'], dir: 'libs/topon/libs')
  171. api 'com.google.android.material:material:1.0.0'//从v5.6.2版本开始,如果有聚合快手的v2.7.2及以上版本需要添加此依赖
  172. implementation 'androidx.multidex:multidex:2.0.0'
  173. //应对接入后发布报single dex相关错误,defaultConfig中需同步设置multiDexEnabled true
  174. //OaidSDK(手动导入SDK包)
  175. api fileTree(include: ['*.jar','*.aar'], dir: 'libs/oaid')
  176. //数数SDK(手动导入SDK包)
  177. api fileTree(include: ['*.jar','*.aar'], dir: 'libs/thinkingdata')
  178. //友盟SDK(手动导入SDK包)
  179. api fileTree(include: ['*.jar','*.aar', '*.so'], dir: 'libs/umeng')
  180. //阿里风控
  181. api fileTree(include: ['*.jar','*.aar'], dir: 'libs/aliRisk')
  182. // //ysdk
  183. // implementation fileTree(dir: 'libs/ysdk', include: ['*.jar', '*.aar'])
  184. // implementation 'androidx.legacy:legacy-support-v4:1.0.0'
  185. api fileTree(include: ['*.jar','*.aar'], dir: 'libs/YSDK')
  186. //同盾
  187. api fileTree(include: ['*.jar','*.aar'], dir: 'libs/tongdun')
  188. //极光
  189. api fileTree(include: ['*.jar','*.aar'], dir: 'libs/jiguang')
  190. implementation project(':jiguang')
  191. }
  192. apply plugin: 'com.huawei.agconnect'