mirror of
https://github.com/beemdevelopment/Aegis.git
synced 2025-05-31 11:52:18 +00:00
SpongyCastle is a fork of BouncyCastle. We originally used this fork to 1) have access to scrypt and 2) prevent a package name collision with the bundled BouncyCastle. We don't actually need to use the fork anymore, because the package name of the bundled BouncyCastle was changed in Android. SpongyCastle has also gotten quite outdated in recent years. The built-in version of BouncyCastle is replaced with the one bundled with the app at runtime, so that we have a recent version even on older Android versions. This also updates Gradle and the Gradle Android plugin, to fix a build error I was running into when I added the dependency to BouncyCastle.
127 lines
4.4 KiB
Groovy
127 lines
4.4 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'com.google.protobuf'
|
|
|
|
def getCmdOutput = { cmd ->
|
|
def stdout = new ByteArrayOutputStream()
|
|
exec {
|
|
commandLine cmd
|
|
standardOutput = stdout
|
|
}
|
|
return stdout.toString().trim()
|
|
}
|
|
|
|
def getGitHash = { -> return getCmdOutput(["git", "rev-parse", "--short", "HEAD"]) }
|
|
def getGitBranch = { -> return getCmdOutput(["git", "rev-parse", "--abbrev-ref", "HEAD"]) }
|
|
|
|
android {
|
|
compileSdkVersion 29
|
|
|
|
defaultConfig {
|
|
applicationId "com.beemdevelopment.aegis"
|
|
minSdkVersion 21
|
|
targetSdkVersion 29
|
|
versionCode 29
|
|
versionName "1.1.4"
|
|
multiDexEnabled true
|
|
buildConfigField "String", "GIT_HASH", "\"${getGitHash()}\""
|
|
buildConfigField "String", "GIT_BRANCH", "\"${getGitBranch()}\""
|
|
}
|
|
|
|
lintOptions {
|
|
abortOnError true
|
|
disable "MissingTranslation"
|
|
}
|
|
|
|
testOptions {
|
|
unitTests.all {
|
|
useJUnitPlatform()
|
|
|
|
ignoreFailures false
|
|
testLogging {
|
|
events "passed", "skipped", "failed", "standardOut", "standardError"
|
|
}
|
|
}
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
applicationIdSuffix ".debug"
|
|
manifestPlaceholders = [title: "AegisDev", iconName: "ic_launcher_debug"]
|
|
resValue "bool", "pref_secure_screen_default", "false"
|
|
postprocessing {
|
|
removeUnusedCode true
|
|
removeUnusedResources true
|
|
obfuscate false
|
|
optimizeCode false
|
|
proguardFiles getDefaultProguardFile('proguard-defaults.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
release {
|
|
manifestPlaceholders = [title: "Aegis", iconName: "ic_launcher"]
|
|
resValue "bool", "pref_secure_screen_default", "true"
|
|
postprocessing {
|
|
removeUnusedCode true
|
|
removeUnusedResources true
|
|
obfuscate false
|
|
optimizeCode true
|
|
proguardFiles getDefaultProguardFile('proguard-defaults.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
targetCompatibility 1.8
|
|
sourceCompatibility 1.8
|
|
}
|
|
}
|
|
|
|
protobuf {
|
|
protoc {
|
|
artifact = 'com.google.protobuf:protoc:3.8.0'
|
|
}
|
|
generateProtoTasks {
|
|
all().each { task ->
|
|
task.builtins {
|
|
java {
|
|
option "lite"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
def libsuVersion = '2.5.1'
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
implementation 'com.google.protobuf:protobuf-javalite:3.8.0'
|
|
implementation 'net.lingala.zip4j:zip4j:2.5.2'
|
|
implementation 'com.amulyakhare:com.amulyakhare.textdrawable:1.0.1'
|
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
|
implementation "androidx.biometric:biometric:1.0.1"
|
|
implementation 'androidx.cardview:cardview:1.0.0'
|
|
implementation 'androidx.preference:preference:1.1.0'
|
|
implementation 'com.google.android.material:material:1.0.0'
|
|
implementation 'androidx.recyclerview:recyclerview:1.1.0'
|
|
implementation 'com.google.guava:guava:28.2-android'
|
|
implementation 'com.getbase:floatingactionbutton:1.10.1'
|
|
implementation 'com.github.apl-devs:appintro:6.0.0'
|
|
implementation 'com.github.avito-tech:krop:0.44'
|
|
implementation 'org.bouncycastle:bcprov-jdk15on:1.65'
|
|
implementation 'de.hdodenhof:circleimageview:3.0.1'
|
|
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
|
|
implementation "com.github.topjohnwu.libsu:core:${libsuVersion}"
|
|
implementation "com.github.topjohnwu.libsu:io:${libsuVersion}"
|
|
implementation 'com.github.bumptech.glide:annotations:4.10.0'
|
|
implementation 'com.github.bumptech.glide:glide:4.10.0'
|
|
implementation "com.mikepenz:iconics-core:3.2.5"
|
|
implementation 'com.mikepenz:material-design-iconic-typeface:2.2.0.5@aar'
|
|
implementation 'de.psdev.licensesdialog:licensesdialog:2.1.0'
|
|
implementation("com.github.bumptech.glide:recyclerview-integration:4.9.0") {
|
|
transitive = false
|
|
}
|
|
annotationProcessor 'androidx.annotation:annotation:1.1.0'
|
|
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
|
|
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.2'
|
|
testImplementation 'com.google.guava:guava:28.2-jre"'
|
|
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.2'
|
|
}
|