From 33713cb7fb3d6760e3695ab46b5d28241bc0f846 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期四, 07 四月 2022 23:02:08 +0800 Subject: [PATCH] 0312 更改gradle版本 --- SdkProject/library/build.gradle | 173 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 148 insertions(+), 25 deletions(-) diff --git a/SdkProject/library/build.gradle b/SdkProject/library/build.gradle index dc4132e..56acdaa 100644 --- a/SdkProject/library/build.gradle +++ b/SdkProject/library/build.gradle @@ -1,6 +1,7 @@ plugins { id 'com.android.library' } + def rootPath = rootProject.getRootDir().getAbsolutePath() def channelPath = "${rootPath}/channel/${CHANNEL_NAME}" @@ -11,34 +12,40 @@ apply from: path } -applyGradle("${rootPath}/utils") -applyGradle("${channelPath}/build") +applyGradle("${rootPath}/utils")//宸ュ叿鑴氭湰 +applyGradle("${channelPath}/build")//娓犻亾鑴氭湰 +applyGradle("${channelPath}/deps")//娓犻亾鐨勮繙绋嬩緷璧栬剼鏈� -Properties localProp = loadProperties('local') -Properties channelProp = loadProperties("${channelPath}/config") +Properties localProp = loadProperties('local')//鏈湴閰嶇疆 +Properties channelProp = loadProperties("${channelPath}/config")//娓犻亾鎵�灞炵殑閰嶇疆 +def outPutPath = localProp.getProperty("OUTPUT_PATH")//宸ョ▼sdk杈撳嚭璺緞 + +//褰撳墠娓犻亾鎵�搴旂敤鐨勬彃浠跺悕 def plugins = channelProp.getProperty("PLUGINS").split(';') - +//鎻掍欢鑴氭湰 plugins.each { applyGradle("${rootPath}/plugins/${it}/build") + applyGradle("${rootPath}/plugins/${it}/deps") } //娓犻亾闇�瑕佽鐩栦富鐩綍鐨刯ava鏂囦欢 def channelJavaFiles = getAllFiles(new ArrayList<File>(), "${channelPath}/java") android { - compileSdkVersion 29 - buildToolsVersion "30.0.2" + compileSdkVersion 30 + buildToolsVersion "28.0.3" defaultConfig { minSdkVersion 21 - targetSdkVersion 29 + targetSdkVersion 30 versionCode 1 versionName "1.0" - testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" +// testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" } + flavorDimensions "version" productFlavors { @@ -93,25 +100,141 @@ 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" - } + //娓呭崟鍙兘鍚堝苟涓�涓紝鎵�鏈夋彃浠剁殑娓呭崟闇�瑕佹墜鍔ㄥ鍒跺埌瀵瑰簲鐨勬笭閬撻噷 } } } - } -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' - testImplementation 'junit:junit:4.+' - androidTestImplementation 'androidx.test.ext:junit:1.1.2' - androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' - implementation files('libs/unity-classes.jar') +android.libraryVariants.all { variant -> + variant.outputs.all { + outputFileName = "library-${buildType.name}-${CHANNEL_NAME}.aar" + } +} + +//鎷疯礉娓呭崟鏂囦欢 +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 'copyDebugManifest' + from zipTree("build/outputs/aar/library-release-${CHANNEL_NAME}.aar") + include "AndroidManifest.xml" + 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() { + 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.annotation:annotation:1.0.0' + testImplementation 'junit:junit:4.13.2' + //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 fileTree(include: ['*.jar', '*.aar'], dir: 'libs') + + implementation('androidx.appcompat:appcompat:1.0.0') { + force = true + } + implementation(name: 'SohaSDK', ext: 'aar') + + implementation 'com.google.android.material:material:1.0.0' + + + api 'com.squareup.retrofit2:retrofit:2.5.0' + api 'com.squareup.retrofit2:converter-gson:2.4.0' + api 'com.squareup.okhttp3:logging-interceptor:3.9.0' + + + implementation 'com.google.firebase:firebase-analytics:17.4.1' + implementation 'com.google.firebase:firebase-messaging:20.1.7' + implementation 'com.google.firebase:firebase-dynamic-links:19.1.0' + implementation 'com.google.firebase:firebase-config:19.1.4' + + + + + implementation 'com.facebook.android:facebook-login:11.1.0' + + implementation 'com.android.billingclient:billing:3.0.0' + + implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.1' + implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.1.1' + implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0' + + api 'com.github.bumptech.glide:glide:4.9.0' + annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0' + implementation 'com.github.ybq:Android-SpinKit:1.1.0' + implementation 'androidx.constraintlayout:constraintlayout:1.1.3' + + api 'androidx.multidex:multidex:2.0.1' + api 'com.appsflyer:af-android-sdk:5.4.1' + api 'com.android.installreferrer:installreferrer:1.0' + api 'com.google.android.gms:play-services-auth:18.0.0' + + implementation 'com.adjust.sdk:adjust-android:4.28.3' } \ No newline at end of file -- Gitblit v1.8.0