From e05fe1c9c1dc31e11e82510c0edb662aa653d99d Mon Sep 17 00:00:00 2001
From: lwb <q3213421wrwqr>
Date: 星期一, 15 三月 2021 15:14:14 +0800
Subject: [PATCH] 渠道增加清单文件

---
 SdkProject/library/build.gradle |  102 +++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 78 insertions(+), 24 deletions(-)

diff --git a/SdkProject/library/build.gradle b/SdkProject/library/build.gradle
index 3c23e87..968251b 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"
-                }
+                //娓呭崟鍙兘鍚堝苟涓�涓紝鎵�鏈夋彃浠剁殑娓呭崟闇�瑕佹墜鍔ㄥ鍒跺埌瀵瑰簲鐨勬笭閬撻噷
             }
         }
     }
@@ -112,32 +110,88 @@
     }
 }
 
-//鎷疯礉娓呭崟鏂囦欢浣滀负unity鐩存帴浣跨敤
+//鎷疯礉娓呭崟鏂囦欢
+task copyDebugManifest(type: Copy) {
+    from zipTree("build/outputs/aar/library-debug-${CHANNEL_NAME}.aar")
+    include "AndroidManifest.xml"
+    into "${outPutPath}\\${CHANNEL_NAME}\\debug"
+}
+//鎷疯礉娓呭崟鏂囦欢
 task copyManifest(type: Copy) {
-    dependsOn 'assembleRelease'
+    dependsOn 'copyDebugManifest'
     from zipTree("build/outputs/aar/library-release-${CHANNEL_NAME}.aar")
     include "AndroidManifest.xml"
-    into "${outPutPath}\\${CHANNEL_NAME}\\"
+    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 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(type: Copy) {
-    dependsOn copyManifest
-    from "build/outputs/aar/"
-    include "library-release-${CHANNEL_NAME}.aar"
-    into "${outPutPath}\\${CHANNEL_NAME}\\libs\\"
+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 {
-    implementation 'androidx.appcompat:appcompat:1.2.0'
-    implementation 'com.google.android.material:material:1.2.1'
-    implementation 'androidx.constraintlayout:constraintlayout:2.0.3'
-    implementation 'androidx.navigation:navigation-fragment:2.3.1'
-    implementation 'androidx.navigation:navigation-ui:2.3.1'
+    implementation 'com.android.support:support-annotations:28.0.0'
     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.github.pqpo:Log4a:1.4.2@aar'
-    implementation files('libs/unity-classes.jar')
+    //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