mirror of
				https://github.com/PaddlePaddle/FastDeploy.git
				synced 2025-10-31 20:02:53 +08:00 
			
		
		
		
	 195132a1c7
			
		
	
	195132a1c7
	
	
	
		
			
			* [Android] Add ERNIE3.0 intent and slot task jni support * [Bug Fix] fix app sdk download tasks * [Bug Fix] fix app sdk download tasks * [JNI] remove empty .cc files * [Android] Update Android build scripts
		
			
				
	
	
		
			91 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
| apply plugin: 'com.android.library'
 | |
| 
 | |
| 
 | |
| android {
 | |
|     compileSdk 28
 | |
| 
 | |
|     defaultConfig {
 | |
|         minSdk 15
 | |
|         targetSdk 28
 | |
| 
 | |
|         testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
 | |
|         consumerProguardFiles "consumer-rules.pro"
 | |
|         externalNativeBuild {
 | |
|             cmake {
 | |
|                 arguments '-DANDROID_PLATFORM=android-21', '-DANDROID_STL=c++_shared', "-DANDROID_TOOLCHAIN=clang"
 | |
|                 abiFilters 'armeabi-v7a', 'arm64-v8a'
 | |
|                 cppFlags "-std=c++11"
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     buildTypes {
 | |
|         release {
 | |
|             minifyEnabled false
 | |
|             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
 | |
|         }
 | |
|     }
 | |
|     externalNativeBuild {
 | |
|         cmake {
 | |
|             path "src/main/cpp/CMakeLists.txt"
 | |
|             version "3.10.2"
 | |
|         }
 | |
|     }
 | |
|     sourceSets {
 | |
|         main {
 | |
|             jniLibs.srcDirs = ['libs']
 | |
|         }
 | |
|     }
 | |
|     ndkVersion '20.1.5948944'
 | |
| }
 | |
| 
 | |
| dependencies {
 | |
| 
 | |
|     implementation 'com.android.support:appcompat-v7:28.0.0'
 | |
|     testImplementation 'junit:junit:4.13.2'
 | |
|     androidTestImplementation 'com.android.support.test:runner:1.0.2'
 | |
|     androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
 | |
| }
 | |
| 
 | |
| def FD_CXX_LIB = [
 | |
|         [
 | |
|                 'src' : 'https://bj.bcebos.com/fastdeploy/test/fastdeploy-android-latest-shared-dev.tgz',
 | |
|                 'dest': 'libs'
 | |
|         ]
 | |
| ]
 | |
| 
 | |
| task downloadAndExtractLibs(type: DefaultTask) {
 | |
|     doFirst {
 | |
|         println "[INFO] Downloading and extracting fastdeploy android c++ lib ..."
 | |
|     }
 | |
|     doLast {
 | |
|         String cachePath = "cache"
 | |
|         if (!file("${cachePath}").exists()) {
 | |
|             mkdir "${cachePath}"
 | |
|         }
 | |
|         FD_CXX_LIB.eachWithIndex { lib, index ->
 | |
|             String[] libPaths = lib.src.split("/")
 | |
|             String libName = libPaths[libPaths.length - 1]
 | |
|             libName = libName.split("\\.")[0]
 | |
|             boolean copyFiles = false
 | |
|             if (!file("${lib.dest}/${libName}").exists()) {
 | |
|                 if (!file("${cachePath}/${libName}.tgz").exists()) {
 | |
|                     println "[INFO] Downloading ${lib.src} -> ${cachePath}/${libName}.tgz"
 | |
|                     ant.get(src: lib.src, dest: file("${cachePath}/${libName}.tgz"))
 | |
|                 }
 | |
|                 copyFiles = true
 | |
|             }
 | |
|             if (copyFiles) {
 | |
|                 println "[INFO] Taring ${cachePath}/${libName}.tgz -> ${lib.dest}/${libName}"
 | |
|                 copy {
 | |
|                     from tarTree("${cachePath}/${libName}.tgz")
 | |
|                     into "${lib.dest}"
 | |
|                 }
 | |
|             } else {
 | |
|                 println "[INFO] ${lib.dest}/${libName} already exists!"
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 | |
| 
 | |
| preBuild.dependsOn downloadAndExtractLibs |