From ea40db7a1452141287042e070af9bab3e7375f70 Mon Sep 17 00:00:00 2001 From: Cuynu <90895715+cuynu@users.noreply.github.com> Date: Tue, 30 Aug 2022 14:28:08 +0700 Subject: [PATCH] Update build.gradle 1.7.19 --- V2rayNG/build.gradle | 167 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 143 insertions(+), 24 deletions(-) diff --git a/V2rayNG/build.gradle b/V2rayNG/build.gradle index 93c9952..f085784 100644 --- a/V2rayNG/build.gradle +++ b/V2rayNG/build.gradle @@ -1,32 +1,151 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' -buildscript { - repositories { - google() - mavenCentral() - maven { url 'https://maven.google.com' } - maven { url 'https://jitpack.io' } - jcenter() +Properties props = new Properties() +props.load(new FileInputStream(new File('local.properties'))) + +android { + compileSdkVersion Integer.parseInt("$compileSdkVer") + buildToolsVersion "$buildToolsVer" + + compileOptions { + targetCompatibility = "8" + sourceCompatibility = "8" } - dependencies { - classpath 'com.android.tools.build:gradle:7.2.1' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" - // NOTE: Do not place your application dependencies here; they belong - // in the individual module build.gradle files + defaultConfig { + applicationId "com.v2ray.ang" + minSdkVersion 21 + targetSdkVersion Integer.parseInt("$targetSdkVer") + multiDexEnabled true + versionCode 473 + versionName "1.7.19" + } + + if (props["sign"]) { + signingConfigs { + release { + storeFile file("../key.jks") + keyAlias 'ang' + keyPassword '123456' + storePassword '123456' + } + debug { + storeFile file("../key.jks") + keyAlias 'ang' + keyPassword '123456' + storePassword '123456' + } + } + } + + buildTypes { + release { + minifyEnabled false + zipAlignEnabled false + shrinkResources false + if (props["sign"]) { + signingConfig signingConfigs.release + } + ndk.abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' +// proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + debug { + minifyEnabled false + zipAlignEnabled false + shrinkResources false + if (props["sign"]) { + signingConfig signingConfigs.release + } + ndk.abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' + } + } + + sourceSets { + main { + jniLibs.srcDirs = ['libs'] + java.srcDirs += 'src/main/kotlin' + } + } + + kotlinOptions { + jvmTarget = JavaVersion.VERSION_1_8 + } + + splits { + abi { + enable true + reset() + include 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a' //select ABIs to build APKs for + universalApk true //generate an additional APK that contains all the ABIs + } + } + + // map for the version code + project.ext.versionCodes = ['armeabi-v7a': 1, 'arm64-v8a': 2, 'x86': 3, 'x86_64': 4] + + android.applicationVariants.all { variant -> + // assign different version code for each output + variant.outputs.each { output -> + output.outputFileName = "v2rayNG_" + variant.versionName + "_" + output.getFilter(com.android.build.OutputFile.ABI) + ".apk" + + output.versionCodeOverride = + project.ext.versionCodes.get(output.getFilter(com.android.build.OutputFile.ABI), 0) * + 1000000 + android.defaultConfig.versionCode + } + } + + buildFeatures { + viewBinding true } } -allprojects { - repositories { - google() - mavenCentral() - maven { url 'https://maven.google.com' } - maven { url 'https://jitpack.io' } - jcenter() - } +dependencies { + implementation fileTree(dir: 'libs', include: ['*.aar', '*.jar'], exclude: []) + testImplementation 'junit:junit:4.13.2' + + // Androidx + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.appcompat:appcompat:1.4.2' + implementation 'com.google.android.material:material:1.6.1' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.preference:preference-ktx:1.2.0' + implementation 'androidx.recyclerview:recyclerview:1.2.1' + implementation 'androidx.fragment:fragment-ktx:1.5.2' + implementation 'androidx.multidex:multidex:2.0.1' + implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01' + + // Androidx ktx + implementation 'androidx.activity:activity-ktx:1.5.1' + implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1' + implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1' + implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.5.1' + + //kotlin + implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlinVersion" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2" + implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2" + + implementation 'com.tencent:mmkv-static:1.2.12' + implementation 'com.google.code.gson:gson:2.8.9' + implementation 'io.reactivex:rxjava:1.3.4' + implementation 'io.reactivex:rxandroid:1.2.1' + implementation 'com.tbruyelle.rxpermissions:rxpermissions:0.9.4@aar' + implementation 'me.dm7.barcodescanner:core:1.9.8' + implementation 'me.dm7.barcodescanner:zxing:1.9.8' + implementation 'com.github.jorgecastilloprz:fabprogresscircle:1.01@aar' + implementation 'me.drakeet.support:toastcompat:1.1.0' + implementation 'com.blacksquircle.ui:editorkit:2.1.1' + implementation 'com.blacksquircle.ui:language-base:2.1.1' + implementation 'com.blacksquircle.ui:language-json:2.1.1' } -task clean(type: Delete) { - delete rootProject.buildDir -} +//buildscript { +// repositories { +// google() +// mavenCentral() +// maven { url 'https://maven.google.com' } +// maven { url 'https://jitpack.io' } +// } +//}