From 471d95a66fd642b75f788e8b50730e9d95ef8e2e Mon Sep 17 00:00:00 2001
From: allez <305670599@qq.com>
Date: 星期四, 12 八月 2021 16:38:19 +0800
Subject: [PATCH] 0000 支持最新的港台SDK

---
 SdkProject/library/build.gradle |   85 ++++++++++++++++++++++++++++++------------
 1 files changed, 60 insertions(+), 25 deletions(-)

diff --git a/SdkProject/library/build.gradle b/SdkProject/library/build.gradle
index 3d152fe..0fc6fa5 100644
--- a/SdkProject/library/build.gradle
+++ b/SdkProject/library/build.gradle
@@ -13,6 +13,7 @@
 
 applyGradle("${rootPath}/utils")//宸ュ叿鑴氭湰
 applyGradle("${channelPath}/build")//娓犻亾鑴氭湰
+applyGradle("${channelPath}/deps")//娓犻亾鐨勮繙绋嬩緷璧栬剼鏈�
 
 Properties localProp = loadProperties('local')//鏈湴閰嶇疆
 Properties channelProp = loadProperties("${channelPath}/config")//娓犻亾鎵�灞炵殑閰嶇疆
@@ -24,6 +25,7 @@
 //鎻掍欢鑴氭湰
 plugins.each {
     applyGradle("${rootPath}/plugins/${it}/build")
+    applyGradle("${rootPath}/plugins/${it}/deps")
 }
 
 //娓犻亾闇�瑕佽鐩栦富鐩綍鐨刯ava鏂囦欢
@@ -31,7 +33,7 @@
 
 android {
     compileSdkVersion 29
-    buildToolsVersion "30.0.2"
+    buildToolsVersion "28.0.1"
 
     defaultConfig {
         minSdkVersion 21
@@ -39,7 +41,7 @@
         versionCode 1
         versionName "1.0"
 
-        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+//        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         consumerProguardFiles "consumer-rules.pro"
     }
 
@@ -96,11 +98,7 @@
                 java.srcDirs "${pluginPath}/java"
                 jniLibs.srcDirs "${pluginPath}libs"
                 res.srcDirs "${pluginPath}/res"
-                manifest {
-                    File file = file("${pluginPath}/AndroidManifest.xml")
-                    if (file.exists())
-                        srcFile "${pluginPath}/AndroidManifest.xml"
-                }
+                //娓呭崟鍙兘鍚堝苟涓�涓紝鎵�鏈夋彃浠剁殑娓呭崟闇�瑕佹墜鍔ㄥ鍒跺埌瀵瑰簲鐨勬笭閬撻噷
             }
         }
     }
@@ -118,7 +116,7 @@
     include "AndroidManifest.xml"
     into "${outPutPath}\\${CHANNEL_NAME}\\debug"
 }
-
+//鎷疯礉娓呭崟鏂囦欢
 task copyManifest(type: Copy) {
     dependsOn 'copyDebugManifest'
     from zipTree("build/outputs/aar/library-release-${CHANNEL_NAME}.aar")
@@ -126,37 +124,74 @@
     into "${outPutPath}\\${CHANNEL_NAME}\\release"
 }
 
+//鎷疯礉debug aar
 task copyDebugSdk(type: Copy) {
     from "build/outputs/aar/"
     include "library-debug-${CHANNEL_NAME}.aar"
     into "${outPutPath}\\${CHANNEL_NAME}\\debug\\libs\\"
 }
 
-//鎵ц鎵撳寘浠诲姟浠ュ強鎷疯礉鍒板閮�
-task assembleAndCopySdk(type: Copy) {
-    delete "${outPutPath}\\${CHANNEL_NAME}"
-
-    dependsOn 'assembleMerger'
-//    dependsOn copyManifest
-    dependsOn copyDebugSdk
-
+task copyReleaseSdk(type: Copy) {
     from "build/outputs/aar/"
     include "library-release-${CHANNEL_NAME}.aar"
     into "${outPutPath}\\${CHANNEL_NAME}\\release\\libs\\"
 }
 
+task deleteSdk() {
+    delete "${outPutPath}\\${CHANNEL_NAME}\\debug"
+    delete "${outPutPath}\\${CHANNEL_NAME}\\release"
+}
+
+//鎵ц鎵撳寘浠诲姟浠ュ強鎷疯礉鍒板閮�
+task assembleAndCopySdk() {
+    dependsOn 'assemble'
+    dependsOn deleteSdk
+    dependsOn copyDebugSdk
+    dependsOn copyReleaseSdk
+
+    tasks.findByName('deleteSdk').mustRunAfter 'assembleMerger'
+    tasks.findByName('copyDebugSdk').mustRunAfter 'deleteSdk'
+    tasks.findByName('copyReleaseSdk').mustRunAfter 'deleteSdk'
+
+    //瀵煎嚭鎵�鏈夊閮ㄥ紩鐢�
+    String content = ""
+    def deps = file("${channelPath}\\deps.gradle")
+    deps.eachLine { line ->
+        if (line != null)
+            content += line + "\n"
+    }
+    plugins.each {
+        deps = file("${rootPath}/plugins/${it}/deps.gradle")
+        if(deps.exists()){
+            deps.eachLine { line ->
+                if (line != null)
+                    content += line + "\n"
+            }
+        }
+    }
+    def dir = new File("${outPutPath}\\${CHANNEL_NAME}")
+    def libraries = new File("${outPutPath}\\${CHANNEL_NAME}\\deps.gradle")
+    dir.mkdir()
+    if (libraries.exists())
+        libraries.delete()
+    if (!libraries.exists())
+        libraries.createNewFile()
+    libraries.text = content
+}
+
 dependencies {
-    testImplementation 'junit:junit:4.13.1'
-    androidTestImplementation 'androidx.test.ext:junit:1.1.2'
-    androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
+    implementation 'com.android.support:support-annotations:28.0.0'
+    testImplementation 'junit:junit:4.13.2'
 
-    implementation 'androidx.appcompat:appcompat:1.2.0'
-    implementation 'com.google.android.material:material:1.2.1'
-    implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
-    implementation 'androidx.navigation:navigation-fragment:2.3.1'
-    implementation 'androidx.navigation:navigation-ui:2.3.1'
-    implementation 'com.github.pqpo:Log4a:1.4.2@aar'
+    //noinspection GradleCompatible
+//    implementation 'com.android.support:appcompat-v7:28.0.0'
 
+//    implementation 'com.github.pqpo:Log4a:1.4.2@aar'
+
+    implementation fileTree(dir: "../channel/${CHANNEL_NAME}/libs/", include: ['*.jar'])
+    plugins.each {
+        implementation fileTree(dir: "${rootPath}/plugins/${it}/libs/", include: ['*.jar'])
+    }
     implementation fileTree(dir: 'libs', include: ['*.jar'], exclude: ['unity-classes.jar'])
     compileOnly files('libs/unity-classes.jar')
 }
\ No newline at end of file

--
Gitblit v1.8.0