mirror of
https://github.com/doukutsu-rs/doukutsu-rs
synced 2024-11-17 19:32:43 +00:00
107 lines
2.6 KiB
Groovy
107 lines
2.6 KiB
Groovy
plugins {
|
|
id 'com.android.application'
|
|
id 'com.github.willir.rust.cargo-ndk-android'
|
|
}
|
|
|
|
android {
|
|
compileSdkVersion 30
|
|
buildToolsVersion "30.0.3"
|
|
ndkVersion "22.1.7171670"
|
|
|
|
defaultConfig {
|
|
applicationId "io.github.doukutsu_rs"
|
|
minSdkVersion 24
|
|
targetSdkVersion 30
|
|
versionCode 1
|
|
versionName "1.0"
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
|
|
ndk {
|
|
abiFilters 'x86', 'arm64-v8a', 'armeabi-v7a'
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
arguments "-DANDROID_STL=c++_shared"
|
|
}
|
|
}
|
|
|
|
def documentsAuthorityValue = applicationId + ".documents"
|
|
|
|
manifestPlaceholders =
|
|
[documentsAuthority: documentsAuthorityValue]
|
|
|
|
buildConfigField "String",
|
|
"DOCUMENTS_AUTHORITY",
|
|
"\"${documentsAuthorityValue}\""
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
buildFeatures {
|
|
viewBinding true
|
|
}
|
|
|
|
externalNativeBuild {
|
|
cmake {
|
|
path "src/main/cpp/CMakeLists.txt"
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'com.android.support:support-annotations:28.0.0'
|
|
implementation 'com.android.support:appcompat-v7:28.0.0'
|
|
implementation 'com.android.support:design:28.0.0'
|
|
implementation 'com.android.support.constraint:constraint-layout:2.0.1'
|
|
implementation 'android.arch.navigation:navigation-fragment:1.0.0'
|
|
implementation 'android.arch.navigation:navigation-ui:1.0.0'
|
|
}
|
|
|
|
println("cargo target: ${project.buildDir.getAbsolutePath()}/rust-target")
|
|
println("ndk dir: ${android.ndkDirectory}")
|
|
|
|
cargoNdk {
|
|
targets = [
|
|
"x86",
|
|
"arm",
|
|
"arm64"
|
|
]
|
|
librariesNames = ["libdrsandroid.so"]
|
|
//targetDirectory = "${project.buildDir.getAbsolutePath()}/rust-target"
|
|
module = "../drsandroid/"
|
|
extraCargoEnv = ["ANDROID_NDK_HOME": android.ndkDirectory]
|
|
extraCargoBuildArguments = []
|
|
verbose = true
|
|
|
|
buildTypes {
|
|
release {
|
|
buildType = "release"
|
|
}
|
|
debug {
|
|
buildType = "debug"
|
|
}
|
|
}
|
|
}
|
|
|
|
tasks.whenTaskAdded { task ->
|
|
if (task.name == 'javaPreCompileDebug') {
|
|
task.dependsOn 'buildCargoNdkDebug'
|
|
}
|
|
|
|
if (task.name == 'javaPreCompileRelease') {
|
|
task.dependsOn 'buildCargoNdkRelease'
|
|
}
|
|
}
|