mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-10-05 16:48:03 +08:00

* [Bug Fix] fix android app detail page errors * [Android] fix realtime camera mode and shutter * [Bug Fix] fix AllocateSegmentationResultFromJava error * [Bug Fix] fix camera preview size setting problem * [Model] use uint8 buffer instead of fp32 in ppseg postprocess * [Model] revert changes in ppseg * [Model] revert postprocess changes in ppseg * [Android] add fastdeploy android sdk download task
86 lines
2.6 KiB
Groovy
86 lines
2.6 KiB
Groovy
import java.security.MessageDigest
|
|
|
|
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"
|
|
}
|
|
}
|
|
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 "Downloading and extracting fastdeploy android c++ lib ..."
|
|
}
|
|
doLast {
|
|
// Prepare cache folder for archives
|
|
String cachePath = "cache"
|
|
if (!file("${cachePath}").exists()) {
|
|
mkdir "${cachePath}"
|
|
}
|
|
FD_CXX_LIB.eachWithIndex { lib, index ->
|
|
MessageDigest messageDigest = MessageDigest.getInstance('MD5')
|
|
messageDigest.update(lib.src.bytes)
|
|
String cacheName = new BigInteger(1, messageDigest.digest()).toString(32)
|
|
// Download the target archive if not exists
|
|
boolean copyFiles = !file("${lib.dest}").exists()
|
|
if (!file("${cachePath}/${cacheName}.tgz").exists()) {
|
|
ant.get(src: lib.src, dest: file("${cachePath}/${cacheName}.tgz"))
|
|
copyFiles = true
|
|
// force to copy files from the latest archive files
|
|
}
|
|
// Extract the target archive if its dest path does not exists
|
|
if (copyFiles) {
|
|
copy {
|
|
from tarTree("${cachePath}/${cacheName}.tgz")
|
|
into "${lib.dest}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
preBuild.dependsOn downloadAndExtractLibs |