apply plugin: 'com.android.application' //repositories { // mavenCentral() // google() //} configurations { compile.exclude module: 'support-v4' } configurations.all { exclude group: 'com.google.firebase', module: 'firebase-core' exclude group: 'androidx.recyclerview', module: 'recyclerview' } dependencies { implementation project(':TMessagesProj') implementation 'androidx.multidex:multidex:2.0.1' coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5' implementation files('../TMessagesProj/libs/libgsaverification-client.aar') } def getProps(String propName) { def propsFile = rootProject.file('local.properties') if (propsFile.exists()) { def props = new Properties() props.load(new FileInputStream(propsFile)) return props[propName] } else { return "" } } android { compileSdkVersion 31 buildToolsVersion '31.0.0' defaultConfig.applicationId = APP_PACKAGE sourceSets.main.jniLibs.srcDirs = ['../TMessagesProj/jni/'] lintOptions { disable 'MissingTranslation' disable 'ExtraTranslation' disable 'BlockedPrivateApi' } dexOptions { preDexLibraries = true jumboMode = true } // dataBinding { // enabled = true // } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 coreLibraryDesugaringEnabled true } // firebaseCrashlytics { // mappingFileUploadEnabled true // } signingConfigs { // debug { // storeFile file("../TMessagesProj/config/CricDit.jks") // storePassword RELEASE_STORE_PASSWORD // keyAlias RELEASE_KEY_ALIAS // keyPassword RELEASE_KEY_PASSWORD // } release { storeFile file("../TMessagesProj/config/CricDit.jks") storePassword RELEASE_STORE_PASSWORD keyAlias RELEASE_KEY_ALIAS keyPassword RELEASE_KEY_PASSWORD } } buildTypes { // debug { // debuggable true // jniDebuggable true // signingConfig signingConfigs.debug // applicationIdSuffix ".beta" // minifyEnabled false // shrinkResources false // multiDexEnabled true // proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro' // ndk.debugSymbolLevel = 'FULL' // } // standalone { // debuggable false // jniDebuggable false // signingConfig signingConfigs.release // applicationIdSuffix ".web" // minifyEnabled true // multiDexEnabled true // proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro' // ndk.debugSymbolLevel = 'FULL' // } // release { debuggable false jniDebuggable false signingConfig signingConfigs.release minifyEnabled true shrinkResources false multiDexEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), '../TMessagesProj/proguard-rules.pro' ndk.debugSymbolLevel = 'FULL' } } // sourceSets.debug { // manifest.srcFile '../TMessagesProj/config/debug/AndroidManifest.xml' // } // // sourceSets.standalone { // manifest.srcFile '../TMessagesProj/config/release/AndroidManifest.xml' // } // // sourceSets.release { // manifest.srcFile '../TMessagesProj/config/release/AndroidManifest.xml' // } flavorDimensions "minApi" productFlavors { bundleAfat { ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } ext { abiVersionCode = 1 } } bundleAfat_SDK23 { ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } // sourceSets.debug { // manifest.srcFile '../TMessagesProj/config/debug/AndroidManifest_SDK23.xml' // } // sourceSets.release { // manifest.srcFile '../TMessagesProj/config/release/AndroidManifest_SDK23.xml' // } // sourceSets.standalone { // manifest.srcFile '../TMessagesProj/config/release/AndroidManifest_standalone.xml' // } minSdkVersion 23 ext { abiVersionCode = 1 } } afat { ndk { abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } // sourceSets.debug { // manifest.srcFile '../TMessagesProj/config/debug/AndroidManifest_SDK23.xml' // } // sourceSets.release { // manifest.srcFile '../TMessagesProj/config/release/AndroidManifest_SDK23.xml' // } // sourceSets.standalone { // manifest.srcFile '../TMessagesProj/config/release/AndroidManifest_standalone.xml' // } ext { abiVersionCode = 1 } } } defaultConfig.versionCode = Integer.parseInt(APP_VERSION_CODE) applicationVariants.all { variant -> variant.outputs.all { output -> outputFileName = "Cricdit${variant.versionName}.apk" // output.versionCodeOverride = defaultConfig.versionCode * 10 + variant.productFlavors.get(0).abiVersionCode } } variantFilter { variant -> def names = variant.flavors*.name if (variant.buildType.name != "release" && !names.contains("afat")) { setIgnore(true) } } defaultConfig { minSdkVersion 19 targetSdkVersion 31 versionName APP_VERSION_NAME ndkVersion "21.4.7075529" multiDexEnabled true vectorDrawables.generatedDensities = ['mdpi', 'hdpi', 'xhdpi', 'xxhdpi'] externalNativeBuild { cmake { version '3.10.2' arguments '-DANDROID_STL=c++_static', '-DANDROID_PLATFORM=android-16', "-j=16" } } } buildFeatures { buildConfig = true } lintOptions { checkReleaseBuilds false } } apply plugin: 'com.google.gms.google-services' //android.applicationVariants.all { variant -> // variant.outputs.each { output -> // //println("=============== ${variant.getBuildType().name.toUpperCase()} ===============") // //println("=============== ${variant.getFlavorName()} ===============") // def vn // if (variant.getFlavorName() != null && variant.getFlavorName() != "") { // vn = variant.name; // } else { // if (variant.getBuildType().name == "release") { // vn = "Release" // } else { // vn = "Debug" // } // } //// def taskName = "process${vn}MainManifest"; // def taskName = "processBundleAfatReleaseMainManifest"; // try { // println("=============== taskName ${taskName} ===============") // project.getTasks().getByName(taskName) // // } catch (Exception e) { // return // } // ///你的自定义名字 //// project.getTasks().getByName("processBundleAfatReleaseMainManifest").doFirst { // project.getTasks().getByName("processBundleAfatReleaseMainManifest").doFirst { // //def method = it.getClass().getMethods() // it.getManifests().getFiles().each { // if (it.exists() && it.canRead()) { // def manifestFile = it // def exportedTag = "android:exported" // def nameTag = "android:name" // ///这里第二个参数是 false ,所以 namespace 是展开的,所以下面不能用 androidSpace,而是用 nameTag // def xml = new XmlParser(false, false).parse(manifestFile) // println("=============== WQEQWEQWE 0" + manifestFile + " ===============") // if (xml.application != null && xml.application.size() > 0) { // println("=============== WQEQWEQWE 1 ===============") // def nodes = xml.application[0].'*'.findAll { // println("=============== WQEQWEQWE 3 ===============") // //挑选要修改的节点,没有指定的 exported 的才需要增加 // //如果 exportedTag 拿不到可以尝试 it.attribute(androidSpace.exported) // (it.name() == 'activity' || it.name() == 'receiver' || it.name() == 'service') && it.attribute(exportedTag) == null // // } // if (nodes.application != null && nodes.application.size() > 0) { // println("=============== WQEQWEQWE 4 ===============") // nodes.each { // println("=============== WQEQWEQWE 5" + manifestFile + " ===============") // def t = it // it.each { // if (it.name() == "intent-filter") { // println("$manifestFile \n .....................${t.attributes().get(nameTag)}......................") // } // } // } // } // } else { // println("=============== WQEQWEQWE 2 ===============") // } // } // } // } // } //}