Files
AutoJs6/app/build.gradle
2021-12-05 10:40:13 +08:00

234 lines
7.2 KiB
Groovy

plugins {
id "com.android.application"
id "com.jakewharton.butterknife"
id "kotlin-android"
id "kotlin-kapt"
}
def AnnotationsVer = "4.8.0"
def SupportLibsVer = "28.0.0"
def ButterKnifeVer = "10.2.3"
def properties = new Properties()
def propFile = new File("sign.properties")
def isPropFileExists = propFile.exists()
isPropFileExists && properties.load(new FileInputStream(propFile))
configurations.all {
resolutionStrategy {
force "com.android.support:support-v4:${SupportLibsVer}"
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_16
}
}
tasks.withType(JavaCompile) {
options.compilerArgs << '-Xlint:deprecation' << '-Xlint:unchecked'
}
android {
signingConfigs {
isPropFileExists && release {
storeFile file(properties["storeFile"])
keyPassword properties["keyPassword"]
keyAlias properties["keyAlias"]
storePassword properties["storePassword"]
}
}
compileSdkVersion versions.compile
defaultConfig {
applicationId "org.autojs.autojs"
minSdkVersion versions.mini
targetSdkVersion versions.target
versionCode versions.appVersionCode
versionName versions.appVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
javaCompileOptions {
annotationProcessorOptions {
arguments = [
'resourcePackageName': applicationId,
"androidManifestFile": "$projectDir/src/main/AndroidManifest.xml".toString()
]
}
}
}
buildTypes {
debug {
shrinkResources false
minifyEnabled false
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
if (isPropFileExists) {
signingConfig signingConfigs.release
}
}
release {
shrinkResources false
minifyEnabled false
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
if (isPropFileExists) {
signingConfig signingConfigs.release
}
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_16
targetCompatibility JavaVersion.VERSION_16
encoding = "utf-8"
}
lintOptions {
abortOnError false
disable "MissingTranslation"
disable "ExtraTranslation"
}
configurations.all {
resolutionStrategy.force "com.google.code.findbugs:jsr305:3.0.1"
}
flavorDimensions "channel"
splits {
// Configures multiple APKs based on ABI.
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for x86 and x86_64.
// Resets the list of ABIs that Gradle should create APKs for to none.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
include "armeabi-v7a"
// Specifies that we do not want to also generate a universal APK that includes all ABIs.
universalApk false
}
}
productFlavors {
common {
buildConfigField "String", "CHANNEL", "\"common\""
buildConfigField "String", "APP_SINCE_DATE", "\"${versions.appSinceDate}\""
}
}
applicationVariants.all { variant ->
variant.mergeAssetsProvider.configure {
doLast {
delete(fileTree(dir: outputDir, includes: ['declarations/**']))
}
}
}
}
repositories {
google()
}
dependencies {
testImplementation "junit:junit:4.13.2"
// Kotlin
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2-native-mt"
// Android Annotations
kapt "org.androidannotations:androidannotations:${AnnotationsVer}"
implementation "org.androidannotations:androidannotations-api:${AnnotationsVer}"
// ButterKnife
kapt "com.jakewharton:butterknife-compiler:${ButterKnifeVer}"
implementation "com.jakewharton:butterknife:${ButterKnifeVer}"
// Android supports
implementation "androidx.appcompat:appcompat:1.4.0"
implementation "androidx.cardview:cardview:1.0.0"
implementation "com.google.android.material:material:1.6.0-alpha01"
implementation "androidx.multidex:multidex:2.0.1"
// Material Dialogs
implementation "com.afollestad.material-dialogs:core:0.9.6.0"
// SwipeRefreshLayout
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
// Common Markdown
implementation "com.github.atlassian:commonmark-java:commonmark-parent-0.9.0"
// Android issue reporter (a github issue reporter)
implementation "com.heinrichreimersoftware:android-issue-reporter:1.3.1"
// MultiLevelListView
implementation "com.github.hyb1996:android-multi-level-listview:1.1"
// Licenses Dialog
implementation "de.psdev.licensesdialog:licensesdialog:2.2.0"
// Expandable RecyclerView
implementation "com.bignerdranch.android:expandablerecyclerview:3.0.0-RC1"
// FlexibleDivider
implementation "com.yqritc:recyclerview-flexibledivider:1.4.0"
// AVLoadingView
implementation "com.wang.avi:library:2.1.3"
// Commons Lang
implementation "org.apache.commons:commons-lang3:3.12.0"
// Expandable RecyclerView
implementation "com.thoughtbot:expandablerecyclerview:1.3"
implementation "com.github.hyb1996:Auto.js-ApkBuilder:1.0.1"
// RxJava
implementation "io.reactivex.rxjava2:rxjava:2.2.21"
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
// Retrofit
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
implementation "com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0"
implementation "com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2"
// Glide
kapt "com.github.bumptech.glide:compiler:4.12.0"
implementation "com.github.bumptech.glide:glide:4.12.0"
// Joda Time
implementation "joda-time:joda-time:2.10.13"
// Tasker Plugin
implementation "com.twofortyfouram:android-plugin-client-sdk-for-locale:4.0.3"
// Flurry
implementation "com.flurry.android:analytics:13.1.0"
// Material Dialogs
implementation "com.afollestad.material-dialogs:commons:0.9.6.0"
// Android Job
implementation "com.evernote:android-job:1.4.2"
// Leakcanary
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'
// Extracted from com.github.hyb1996:MutableTheme:1.0.0
api 'com.jrummyapps:colorpicker:2.1.7'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'com.github.ozodrukh:CircularReveal:2.0.1'
// Bugly
implementation project(":libs:com.tencent.bugly.crashreport-2.6.6")
implementation project(":automator")
implementation project(":common")
implementation project(":autojs")
}
java {
sourceCompatibility = JavaVersion.VERSION_16
targetCompatibility = JavaVersion.VERSION_16
}