build.gradle 7.3 KB

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