Files
AutoJs6/app/build.gradle

220 lines
7.0 KiB
Groovy

plugins {
id 'com.android.application'
id 'com.jakewharton.butterknife'
id 'kotlin-android'
id 'kotlin-kapt'
}
def properties = new Properties()
def propFile = new File('sign.properties')
def isPropFileExists = propFile.exists()
isPropFileExists && properties.load(new FileInputStream(propFile))
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.project.compile
defaultConfig {
applicationId 'org.autojs.autojs'
minSdkVersion versions.project.mini
targetSdkVersion versions.project.target
versionCode versions.project.appVersionCode
versionName versions.project.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
}
// Disable Crashlytics reports.
ext.enableCrashlytics = false
// Disables PNG crunching for the release build type.
crunchPngs false
}
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 'x86', '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.project.appSinceDate}\""
}
}
applicationVariants.all { variant ->
variant.mergeAssetsProvider.configure {
doLast {
delete(fileTree(dir: outputDir, includes: ['declarations/**']))
}
}
}
}
repositories {
google()
}
dependencies {
// JUnit
testImplementation "junit:junit:${versions.junit}"
// LeakCanary
debugImplementation "com.squareup.leakcanary:leakcanary-android:${versions.leakcanary}"
// Kotlin
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0-native-mt'
// Android Annotations
kapt "org.androidannotations:androidannotations:${versions.annotations}"
implementation "org.androidannotations:androidannotations-api:${versions.annotations}"
// ButterKnife
kapt "com.jakewharton:butterknife-compiler:${versions.butterKnife}"
implementation "com.jakewharton:butterknife:${versions.butterKnife}"
// Android supports
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.multidex:multidex:2.0.1'
// 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:${versions.glide}"
// 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'
// Android Job
implementation 'com.evernote:android-job:1.4.2'
// Extracted from com.github.hyb1996:MutableTheme:1.0.0
implementation '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
}