build.gradle 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. apply plugin: 'com.android.library'
  2. dependencies {
  3. implementation fileTree(dir: 'libs', include: ['*.jar'])
  4. //内购
  5. //implementation 'com.android.billingclient:billing:7.0.0'
  6. def lifecycle_version = "2.0.0"
  7. api "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
  8. api "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
  9. annotationProcessor "androidx.lifecycle:lifecycle-compiler:$lifecycle_version"
  10. //google
  11. implementation 'com.google.android.gms:play-services-base:17.6.0'
  12. implementation 'com.google.android.gms:play-services-auth:20.2.0'
  13. implementation "com.google.android.gms:play-services-games-v2:+"
  14. configurations.all {
  15. resolutionStrategy {
  16. force 'com.google.android.gms:play-services-tasks:18.0.2'
  17. }
  18. }
  19. implementation "androidx.core:core:1.1.0"
  20. implementation "androidx.localbroadcastmanager:localbroadcastmanager:1.0.0"
  21. //应用内评论
  22. implementation 'com.google.android.play:review:2.0.1'
  23. //gosn
  24. implementation 'com.google.code.gson:gson:2.8.6'
  25. implementation 'com.facebook.android:facebook-core:16.1.3'
  26. implementation 'com.facebook.android:facebook-login:16.1.3'
  27. implementation 'com.facebook.android:facebook-share:16.1.3'
  28. implementation 'com.facebook.android:facebook-gamingservices:16.1.3'
  29. implementation 'androidx.legacy:legacy-support-v4:1.0.0'
  30. implementation 'androidx.annotation:annotation:1.1.0'
  31. implementation 'androidx.appcompat:appcompat:1.1.0'
  32. //FireBase
  33. implementation platform('com.google.firebase:firebase-bom:32.1.1')
  34. implementation 'com.google.firebase:firebase-analytics'
  35. implementation 'com.google.firebase:firebase-config'
  36. implementation 'com.google.firebase:firebase-crashlytics'
  37. //appsflyer
  38. implementation 'com.appsflyer:af-android-sdk:6.12.1'
  39. implementation 'com.android.installreferrer:installreferrer:2.2'
  40. implementation 'com.appsflyer:adrevenue:6.9.0'
  41. //okhttp
  42. implementation("com.squareup.okhttp3:okhttp:4.9.2")
  43. implementation("com.squareup.okhttp3:logging-interceptor:4.9.2")
  44. implementation 'com.alibaba:fastjson:1.2.80'
  45. //广告
  46. implementation 'com.google.android.gms:play-services-ads:22.6.0'
  47. implementation 'com.google.ads.mediation:facebook:6.16.0.0'
  48. implementation 'com.google.ads.mediation:applovin:12.1.0.1'
  49. implementation 'com.google.ads.mediation:ironsource:7.7.0.1'
  50. implementation ('com.google.ads.mediation:tapjoy:13.0.1.0') {
  51. exclude group: 'com.google.android.gms', module: 'services-ads-identifier'
  52. }
  53. //implementation 'com.unity3d.ads:unity-ads:4.9.2'
  54. implementation 'com.google.ads.mediation:unity:4.9.2.0'
  55. implementation 'com.google.ads.mediation:vungle:6.12.1.1'
  56. implementation 'com.google.ads.mediation:pangle:5.7.0.3.0'
  57. implementation("com.google.android.ump:user-messaging-platform:2.2.0")
  58. implementation(name: 'UnityAds', ext:'aar')
  59. implementation(name: 'common', ext:'aar')
  60. implementation(name: 'youloft-notification-release', ext:'aar')
  61. implementation(name: 'youloft-core-release', ext:'aar')
  62. implementation(name: 'youloft-googlepay-release', ext:'aar')
  63. implementation(name: 'youloft-ad-release', ext:'aar')
  64. implementation(name: 'billing-5.2.1', ext:'aar')
  65. }
  66. android {
  67. namespace "com.unity3d.player"
  68. ndkPath "D:/tuanJieEditor/2022.3.48t1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK"
  69. compileSdkVersion 33
  70. buildToolsVersion '34.0.0'
  71. compileOptions {
  72. sourceCompatibility JavaVersion.VERSION_11
  73. targetCompatibility JavaVersion.VERSION_11
  74. }
  75. defaultConfig {
  76. minSdkVersion 22
  77. targetSdkVersion 33
  78. ndk {
  79. abiFilters 'armeabi-v7a', 'arm64-v8a'
  80. }
  81. versionCode 1
  82. versionName '1.0'
  83. consumerProguardFiles 'proguard-tuanjie.txt'
  84. }
  85. lintOptions {
  86. abortOnError false
  87. }
  88. aaptOptions {
  89. noCompress = ['.tj3d', '.ress', '.resource', '.obb', '.bundle', '.tuanjieexp'] + tuanjieStreamingAssets.tokenize(', ')
  90. ignoreAssetsPattern = "!.svn:!.git:!.ds_store:!*.scc:!CVS:!thumbs.db:!picasa.ini:!*~"
  91. }
  92. packagingOptions {
  93. doNotStrip '*/armeabi-v7a/*.so'
  94. doNotStrip '*/arm64-v8a/*.so'
  95. jniLibs {
  96. useLegacyPackaging true
  97. }
  98. }
  99. }
  100. def getSdkDir() {
  101. Properties local = new Properties()
  102. local.load(new FileInputStream("${rootDir}/local.properties"))
  103. return local.getProperty('sdk.dir')
  104. }
  105. def BuildIl2Cpp(String workingDir, String configuration, String architecture, String abi, String[] staticLibraries) {
  106. def commandLineArgs = []
  107. commandLineArgs.add("--compile-cpp")
  108. commandLineArgs.add("--platform=Android")
  109. commandLineArgs.add("--architecture=" + architecture)
  110. commandLineArgs.add("--outputpath=" + workingDir + "/src/main/jniLibs/" + abi + "/libil2cpp.so")
  111. commandLineArgs.add("--baselib-directory=" + workingDir + "/src/main/jniStaticLibs/" + abi)
  112. commandLineArgs.add("--incremental-g-c-time-slice=3")
  113. commandLineArgs.add("--configuration=" + configuration)
  114. commandLineArgs.add("--dotnetprofile=unityaot-linux")
  115. commandLineArgs.add("--profiler-report")
  116. commandLineArgs.add("--profiler-output-file=" + workingDir + "/build/il2cpp_"+ abi + "_" + configuration + "/il2cpp_conv.traceevents")
  117. commandLineArgs.add("--print-command-line")
  118. commandLineArgs.add("--data-folder=" + workingDir + "/src/main/Il2CppOutputProject/Source/il2cppOutput/data")
  119. commandLineArgs.add("--generatedcppdir=" + workingDir + "/src/main/Il2CppOutputProject/Source/il2cppOutput")
  120. commandLineArgs.add("--cachedirectory=" + workingDir + "/build/il2cpp_"+ abi + "_" + configuration + "/il2cpp_cache")
  121. commandLineArgs.add("--tool-chain-path=" + android.ndkDirectory)
  122. staticLibraries.eachWithIndex {fileName, i->
  123. commandLineArgs.add("--additional-libraries=" + workingDir + "/src/main/jniStaticLibs/" + abi + "/" + fileName)
  124. }
  125. def executableExtension = ""
  126. if (org.gradle.internal.os.OperatingSystem.current().isWindows()) {
  127. executableExtension = ".exe"
  128. commandLineArgs = commandLineArgs*.replace('\"', '\\\"')
  129. }
  130. exec {
  131. executable workingDir + "/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp" + executableExtension
  132. args commandLineArgs
  133. environment "ANDROID_SDK_ROOT", getSdkDir()
  134. }
  135. delete workingDir + "/src/main/jniLibs/" + abi + "/libil2cpp.sym.so"
  136. ant.move(file: workingDir + "/src/main/jniLibs/" + abi + "/libil2cpp.dbg.so", tofile: workingDir + "/symbols/" + abi + "/libil2cpp.so")
  137. }
  138. android {
  139. task BuildIl2CppTask {
  140. doLast {
  141. BuildIl2Cpp(projectDir.toString().replaceAll('\\\\', '/'), 'Release', 'armv7', 'armeabi-v7a', [ ] as String[]);
  142. BuildIl2Cpp(projectDir.toString().replaceAll('\\\\', '/'), 'Release', 'arm64', 'arm64-v8a', [ ] as String[]);
  143. }
  144. }
  145. afterEvaluate {
  146. if (project(':tuanjieLibrary').tasks.findByName('mergeDebugJniLibFolders'))
  147. project(':tuanjieLibrary').mergeDebugJniLibFolders.dependsOn BuildIl2CppTask
  148. if (project(':tuanjieLibrary').tasks.findByName('mergeReleaseJniLibFolders'))
  149. project(':tuanjieLibrary').mergeReleaseJniLibFolders.dependsOn BuildIl2CppTask
  150. }
  151. sourceSets {
  152. main {
  153. jni.srcDirs = ["src/main/Il2CppOutputProject"]
  154. }
  155. }
  156. }