104 lines
2.7 KiB
Groovy
104 lines
2.7 KiB
Groovy
|
|
plugins {
|
||
|
|
id 'com.android.application'
|
||
|
|
}
|
||
|
|
|
||
|
|
repositories {
|
||
|
|
jcenter()
|
||
|
|
maven {
|
||
|
|
url "https://oss.sonatype.org/content/repositories/snapshots"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
android {
|
||
|
|
signingConfigs {
|
||
|
|
release {
|
||
|
|
storeFile file('wenet.keystore')
|
||
|
|
storePassword '123456'
|
||
|
|
keyAlias 'wenet'
|
||
|
|
keyPassword '123456'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
packagingOptions {
|
||
|
|
pickFirst 'lib/arm64-v8a/libc++_shared.so'
|
||
|
|
}
|
||
|
|
configurations {
|
||
|
|
extractForNativeBuild
|
||
|
|
}
|
||
|
|
compileSdkVersion 30
|
||
|
|
buildToolsVersion "30.0.3"
|
||
|
|
|
||
|
|
defaultConfig {
|
||
|
|
applicationId "com.mobvoi.wenet"
|
||
|
|
minSdkVersion 21
|
||
|
|
targetSdkVersion 30
|
||
|
|
versionCode 1
|
||
|
|
versionName "1.0"
|
||
|
|
|
||
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||
|
|
externalNativeBuild {
|
||
|
|
cmake {
|
||
|
|
targets "wenet", "decoder_main"
|
||
|
|
cppFlags "-std=c++14", "-DC10_USE_GLOG", "-DC10_USE_MINIMAL_GLOG", "-DANDROID", "-Wno-c++11-narrowing", "-fexceptions"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
ndkVersion '21.1.6352462'
|
||
|
|
ndk {
|
||
|
|
abiFilters 'arm64-v8a', 'x86_64'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
buildTypes {
|
||
|
|
release {
|
||
|
|
minifyEnabled false
|
||
|
|
signingConfig signingConfigs.release
|
||
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||
|
|
}
|
||
|
|
}
|
||
|
|
externalNativeBuild {
|
||
|
|
cmake {
|
||
|
|
path "src/main/cpp/CMakeLists.txt"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
compileOptions {
|
||
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
dependencies {
|
||
|
|
|
||
|
|
implementation 'androidx.appcompat:appcompat:1.2.0'
|
||
|
|
implementation 'com.google.android.material:material:1.2.1'
|
||
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
|
||
|
|
testImplementation 'junit:junit:4.+'
|
||
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
|
||
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
|
||
|
|
|
||
|
|
implementation 'org.pytorch:pytorch_android:1.6.0'
|
||
|
|
extractForNativeBuild 'org.pytorch:pytorch_android:1.6.0'
|
||
|
|
|
||
|
|
implementation 'com.github.pengzhendong:wenet-openfst-android:1.0.1'
|
||
|
|
extractForNativeBuild 'com.github.pengzhendong:wenet-openfst-android:1.0.1'
|
||
|
|
}
|
||
|
|
|
||
|
|
task extractAARForNativeBuild {
|
||
|
|
doLast {
|
||
|
|
configurations.extractForNativeBuild.files.each {
|
||
|
|
def file = it.absoluteFile
|
||
|
|
copy {
|
||
|
|
from zipTree(file)
|
||
|
|
into "$buildDir/$file.name"
|
||
|
|
include "headers/**"
|
||
|
|
include "jni/**"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
tasks.whenTaskAdded { task ->
|
||
|
|
if (task.name.contains('externalNativeBuild')) {
|
||
|
|
task.dependsOn(extractAARForNativeBuild)
|
||
|
|
}
|
||
|
|
}
|