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)
 | |
|     }
 | |
| }
 | 
