apply plugin: 'com.android.application' // NOTE!!! 重要!!! aar需要kotlin支持,不引入会导致小程序打不开. apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' if (rootProject.ext.miniAppConfig.usePluginSdk && rootProject.ext.miniAppConfig.usePluginSdk.tpush && rootProject.ext.miniAppConfig.usePluginSdk.tpush != '') { apply plugin: 'com.tencent.android.tpns' } android { useLibrary 'org.apache.http.legacy' compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion def miniAppConfig = rootProject.ext.miniAppConfig defaultConfig { buildConfigField "String", "SDK_KEY", "\"$miniAppConfig.sdkKey\"" buildConfigField "String", "SDK_KEY_SECRET", "\"$miniAppConfig.sdkKeySecret\"" buildConfigField "Boolean", "SPLASHSCREEN", "$miniAppConfig.splashscreen" buildConfigField "String", "ENABLE_VCONSOLE", "\"$miniAppConfig.enableVConsole\"" buildConfigField "Boolean", "PRIVACY_POPUP", "$miniAppConfig.privacyPopup" buildConfigField "Boolean", "APP_MENU_ENABLE", "$miniAppConfig.appMenuEnable" buildConfigField "String", "SCHEME", "\"$miniAppConfig.scheme\"" manifestPlaceholders = [ MINIAPP_SCHEME: miniAppConfig.scheme, ] } signingConfigs { debug { keyAlias "edufound_key" keyPassword "edufound321" storeFile file("C:/Users/candy/Desktop/efunbox/edufound.keystore") storePassword "edufound123" v1SigningEnabled true v2SigningEnabled true } release { keyAlias "edufound_key" keyPassword "edufound321" storeFile file("C:/Users/candy/Desktop/efunbox/edufound.keystore") storePassword "edufound123" v1SigningEnabled true v2SigningEnabled true } } defaultConfig { multiDexEnabled true versionName miniAppConfig.version versionCode miniAppConfig.versionCode minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion if (rootProject.ext.miniAppConfig.map && rootProject.ext.miniAppConfig.map.qmapAPIKey) { manifestPlaceholders["qmapAPIKey"] = rootProject.ext.miniAppConfig.map.qmapAPIKey } } buildTypes { debug { debuggable true signingConfig signingConfigs.debug minifyEnabled false shrinkResources false } release { debuggable false signingConfig signingConfigs.release minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } flavorDimensions 'abi' productFlavors { arm { dimension 'abi' ndk { abiFilters "arm64-v8a", "armeabi-v7a" } } arm32 { dimension 'abi' ndk { abiFilter "armeabi-v7a" } } arm64 { dimension 'abi' ndk { abiFilter "arm64-v8a" } } } lintOptions { checkReleaseBuilds false abortOnError false } compileOptions { sourceCompatibility = 1.8 targetCompatibility = 1.8 } repositories { flatDir { dirs 'libs' } } sourceSets { main { jniLibs.srcDirs = ["libs"] } } } // def wxa_sdk_version = rootProject.ext.miniAppConfig.sdkVersion def wxa_sdk_version = rootProject.ext.saaaSDKVersionDepend def libsDir = file("./libs") if (!file("$libsDir/com/tencent/luggage/wxa-standalone-open-runtime-SaaA-plugin-sdk/${wxa_sdk_version}").exists()) { libsDir.mkdir() apply plugin: 'de.undercouch.download' def zipFileName = "wxa-standalone-open-runtime-SaaA-sdk-all-${wxa_sdk_version}.zip" download.run { src "https://dldir1.qq.com/WechatWebDev/donut/android/pluginsdk/${zipFileName}" dest libsDir } def zipFilePath = "$libsDir/$zipFileName" copy { def subDir = 'localAar' from { zipTree(zipFilePath).matching { include "$subDir/**" } } into libsDir eachFile { fcp -> fcp.path = fcp.path.replaceFirst("^$subDir", '') } includeEmptyDirs false } file(zipFilePath).delete() } task updateResource { doFirst { println "[I] start connect with devtools" def url = miniAppPluginConfig.devtoolsResourceUrl def shouldInterrupt = false try { println "[I] url: $url" def response = new URL(url).getText() println("[I] response: $response") if (response.contains("success")) { // 请求成功 println("[I] update Android resource done") } else { shouldInterrupt = true } } catch (Exception e) { println("[W] connecting with devtools fail.." + e.getMessage()) } if (shouldInterrupt) { throw new GradleException("update Android resource fail") } } } preBuild.dependsOn updateResource dependencies { implementation project(path: ':plugin') def miniAppConfig = rootProject.ext.miniAppConfig implementation("com.tencent.luggage:wxa-standalone-open-runtime-SaaA-plugin-sdk:${wxa_sdk_version}") //以下是测试通过微信打包出来的aar能否正常使用 // implementation(name: 'wxf1a06dafa3350688-1.0.47', ext: 'aar') // implementation('io.github.jeremyliao:live-event-bus-x:1.8.0') // implementation('io.github.FailedToRead:intermodal-release:1.0.1') // implementation('io.github.FailedToRead:oaid_sdk_1.0.25:1.0.1') }