|
|
|
plugins {
|
|
|
|
id 'com.android.application'
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation 'androidx.core:core:1.9.0'
|
|
|
|
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
|
|
|
// implementation 'org.ini4j:ini4j:0.5.4'
|
|
|
|
implementation 'org.apache.commons:commons-configuration2:2.9.0'
|
|
|
|
}
|
|
|
|
configurations {
|
|
|
|
all{
|
|
|
|
//exclude group: 'commons-logging', module: 'commons-logging'
|
|
|
|
//exclude group: 'org.apache.httpcomponents'
|
|
|
|
exclude module: 'httpclient'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
android {
|
|
|
|
lintOptions {
|
|
|
|
// Not so a good way
|
|
|
|
disable 'DuplicatePlatformClasses'
|
|
|
|
}
|
|
|
|
|
|
|
|
compileSdkVersion 33
|
|
|
|
|
|
|
|
defaultConfig {
|
|
|
|
applicationId "org.purplei2p.i2pd"
|
|
|
|
targetSdkVersion 33
|
|
|
|
// TODO: 24?
|
|
|
|
minSdkVersion 16
|
|
|
|
versionCode 2520000
|
|
|
|
versionName "2.52.0"
|
|
|
|
archivesBaseName += "-$versionName"
|
|
|
|
ndkVersion "23.2.8568313"
|
|
|
|
|
|
|
|
ndk {
|
|
|
|
abiFilters "armeabi-v7a"
|
|
|
|
abiFilters "x86"
|
|
|
|
abiFilters "arm64-v8a"
|
|
|
|
abiFilters "x86_64"
|
|
|
|
}
|
|
|
|
|
|
|
|
externalNativeBuild {
|
|
|
|
ndkBuild {
|
|
|
|
arguments "NDK_MODULE_PATH:=${rootProject.projectDir}/binary/jni"
|
|
|
|
arguments "-j${Runtime.getRuntime().availableProcessors()}"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
splits {
|
|
|
|
abi {
|
|
|
|
// change that to true if you need splitted apk
|
|
|
|
enable true
|
|
|
|
reset()
|
|
|
|
include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
|
|
|
|
universalApk true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
signingConfigs {
|
|
|
|
release {
|
|
|
|
storeFile file("i2pdapk.jks")
|
|
|
|
storePassword "android"
|
|
|
|
keyAlias "i2pdapk"
|
|
|
|
keyPassword "android"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
buildTypes {
|
|
|
|
release {
|
|
|
|
signingConfig signingConfigs.release
|
|
|
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
|
|
|
|
}
|
|
|
|
debug {
|
|
|
|
jniDebuggable = true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
externalNativeBuild {
|
|
|
|
ndkBuild {
|
|
|
|
path "${rootProject.projectDir}/binary/jni/Android.mk"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
jniLibs.srcDir file("${rootProject.projectDir}/binary/libs")
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
compileOptions {
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
}
|
|
|
|
namespace 'org.purplei2p.i2pd'
|
|
|
|
}
|
|
|
|
|
|
|
|
ext.abiCodes = ['armeabi-v7a': 1, 'x86': 2, 'arm64-v8a': 3, 'x86_64': 4]
|
|
|
|
import com.android.build.OutputFile
|
|
|
|
|
|
|
|
android.applicationVariants.all { variant ->
|
|
|
|
variant.outputs.each { output ->
|
|
|
|
def baseAbiVersionCode = project.ext.abiCodes.get(output.getFilter(OutputFile.ABI))
|
|
|
|
|
|
|
|
if (baseAbiVersionCode != null) {
|
|
|
|
output.versionCodeOverride = baseAbiVersionCode + variant.versionCode
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|