pdlivexp/app/build.gradle

251 lines
10 KiB
Groovy
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

apply plugin: 'com.android.application'
apply plugin: 'img-optimizer'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.alibaba.arouter'
android {
dexOptions {
jumboMode = true
}
/* applicationVariants.all { variant ->
variant.mergeAssetsProvider.configure {
doLast {
delete(fileTree(dir: outputDir, includes: [
'model/ai_bgseg_green.bundle',
'model/ai_face_processor.bundle',
'model/ai_face_processor_lite.bundle',
'model/ai_hairseg.bundle',
'model/ai_hand_processor.bundle',
'model/ai_human_processor.bundle',
'model/ai_human_processor_gpu.bundle',
'model/ai_human_processor_mb_fast.bundle',
'graphics/body_slim.bundle',
'graphics/controller_cpp.bundle',
'graphics/face_beautification.bundle',
'graphics/face_makeup.bundle',
'graphics/fuzzytoonfilter.bundle',
'graphics/fxaa.bundle',
'graphics/tongue.bundle'
]))
}
}
}*/
compileSdkVersion rootProject.ext.android.compileSdkVersion
buildToolsVersion rootProject.ext.android.buildToolsVersion
packagingOptions {
pickFirst "lib/armeabi/libyuvutils.so"
pickFirst "lib/arm64-v8a/libyuvutils.so"
pickFirst "lib/armeabi-v7a/libyuvutils.so"
pickFirst "lib/armeabi/libyuvtools.so"
pickFirst "lib/arm64-v8a/libyuvtools.so"
pickFirst "lib/armeabi-v7a/libyuvtools.so"
exclude "lib/arm64-v8a/libmmcv_api_handgesture.so"
exclude "lib/arm64-v8a/libmmcv_api_express.so"
exclude "lib/arm64-v8a/libMediaEncoder.so"
exclude "lib/arm64-v8a/libarcore_sdk_c.so"
exclude "lib/arm64-v8a/libmediadecoder.so"
exclude "lib/arm64-v8a/libMediaMuxer.so"
exclude "lib/arm64-v8a/libarcore_sdk_jni.so"
exclude "lib/arm64-v8a/libMediaUtils.so"
exclude "lib/arm64-v8a/libcosmosffmpeg.so"
//旧美颜so
exclude 'lib/arm64-v8a/libxeengine.so'
exclude 'lib/arm64-v8a/libmmcv_base.so'
exclude 'lib/arm64-v8a/libmmcrypto.so'
exclude 'lib/arm64-v8a/libMNN.so'
exclude 'lib/arm64-v8a/libc++_shared.so'
exclude 'lib/arm64-v8a/libmmcv_api_base.so'
exclude 'lib/arm64-v8a/libmmcv_api_beauty.so'
exclude 'lib/arm64-v8a/libmmcv_api_bodylandmark.so'
exclude 'lib/arm64-v8a/libmmcv_api_express.so'
exclude 'lib/arm64-v8a/libmmcv_api_faceattributes.so'
exclude 'lib/arm64-v8a/libmmcv_api_facefeatures.so'
exclude 'lib/arm64-v8a/libmmcv_api_faceprocessor.so'
exclude 'lib/arm64-v8a/libmmcv_api_facerecognition.so'
exclude 'lib/arm64-v8a/libmmcv_api_handgesture.so'
exclude 'lib/arm64-v8a/libmmcv_api_imagequality.so'
exclude 'lib/arm64-v8a/libmmcv_api_objectdetect.so'
exclude 'lib/arm64-v8a/libmmcv_api_segmentation.so'
exclude 'lib/arm64-v8a/libmmcv_api_videoprocessor.so'
exclude 'lib/arm64-v8a/libmmlic.so'
exclude 'lib/arm64-v8a/libMNN_CL.so'
exclude 'lib/arm64-v8a/libMNN_Express.so'
exclude 'lib/armeabi-v7a/libxeengine.so'
exclude 'lib/armeabi-v7a/libmmcv_base.so'
exclude 'lib/armeabi-v7a/libmmcrypto.so'
exclude 'lib/armeabi-v7a/libMNN.so'
exclude 'lib/armeabi-v7a/libc++_shared.so'
exclude 'lib/armeabi-v7a/libmmcv_api_base.so'
exclude 'lib/armeabi-v7a/libmmcv_api_beauty.so'
exclude 'lib/armeabi-v7a/libmmcv_api_bodylandmark.so'
exclude 'lib/armeabi-v7a/libmmcv_api_express.so'
exclude 'lib/armeabi-v7a/libmmcv_api_faceattributes.so'
exclude 'lib/armeabi-v7a/libmmcv_api_facefeatures.so'
exclude 'lib/armeabi-v7a/libmmcv_api_faceprocessor.so'
exclude 'lib/armeabi-v7a/libmmcv_api_facerecognition.so'
exclude 'lib/armeabi-v7a/libmmcv_api_handgesture.so'
exclude 'lib/armeabi-v7a/libmmcv_api_imagequality.so'
exclude 'lib/armeabi-v7a/libmmcv_api_objectdetect.so'
exclude 'lib/armeabi-v7a/libmmcv_api_segmentation.so'
exclude 'lib/armeabi-v7a/libmmcv_api_videoprocessor.so'
exclude 'lib/armeabi-v7a/libmmlic.so'
exclude 'lib/armeabi-v7a/libMNN_CL.so'
exclude 'lib/armeabi-v7a/libMNN_Express.so'
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
applicationVariants.all { variant ->
String variantName = variant.name.capitalize()
def processManifestTask = project.tasks.getByName("process${variantName}Manifest")
processManifestTask.doLast { pm ->
String manifestPath = "build/intermediates/bundle_manifest/release/bundle-manifest/AndroidManifest.xml"
def isGooglePlay = rootProject.ext.manifestPlaceholders.isGooglePlay
if (file(manifestPath).exists() && isGooglePlay) {
def manifestContent = file(manifestPath).getText()
manifestContent = manifestContent.replace('<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />', '')
file(manifestPath).write(manifestContent)
} else {
print "not Exists = " + manifestPath
}
}
variant.mergeAssetsProvider.configure {
doLast {
delete(fileTree(dir: outputDir, includes: [
'model/ai_bgseg_green.bundle',
'model/ai_face_processor.bundle',
//'model/ai_face_processor_lite.bundle',
'model/ai_hairseg.bundle',
'model/ai_hand_processor.bundle',
'model/ai_human_processor.bundle',
'model/ai_human_processor_gpu.bundle',
'model/ai_human_processor_mb_fast.bundle',
'graphics/body_slim.bundle',
'graphics/controller_cpp.bundle',
//'graphics/face_beautification.bundle',
'graphics/face_makeup.bundle',
'graphics/fuzzytoonfilter.bundle',
'graphics/fxaa.bundle',
'graphics/tongue.bundle',
//旧美颜
'model-all.zip',
'filterData.zip',
'KSYResource/*',
'Resources/*',
'Asset/*',
'image_effect_shaders/*',
'internal/*'
]))
}
}
}
signingConfigs {
release {
keyAlias 'phonelive'
keyPassword 'phonelive'
storeFile file('../hdl.jks')
storePassword 'phonelive'
}
//陌陌本地配置需要
config {//TODO BEAUTYSDK 这里需要配置keystore相关信息
keyAlias 'phonelive'
keyPassword 'phonelive'
storeFile file('../hdl.jks')//keystore的存放路径
storePassword 'phonelive'
v2SigningEnabled true // android 5.0-8.0必须用V2否则会有安全问题
v1SigningEnabled true
}
}
aaptOptions {
cruncherEnabled = false
useNewCruncher = false
}
packagingOptions {//加上这写代码 为了mob兼容性androidx
// pickFirst 'META-INF/*'
}
defaultConfig {
// applicationId "myname.pdlive.shayu"
applicationId "com.pdlive.shayu"
minSdkVersion rootProject.ext.android.minSdkVersion
//版本在这里修改
targetSdkVersion rootProject.ext.android.targetSdkVersion
versionCode rootProject.ext.android.versionCode
versionName rootProject.ext.android.versionName
manifestPlaceholders = rootProject.ext.manifestPlaceholders
multiDexEnabled true
ndk {
// TODO: 谷歌商城需要兼容两个平台
abiFilters "armeabi-v7a", "arm64-v8a"
}
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
debug {
minifyEnabled false
signingConfig signingConfigs.release
}
}
lintOptions {
checkReleaseBuilds false
abortOnError false
}
}
repositories {
flatDir {
dirs 'libs', '../libs'
}
}
dependencies {
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation platform('com.google.firebase:firebase-bom:30.5.0')
implementation 'com.google.firebase:firebase-crashlytics'
//直播
api project(':main')
//短视频
api project(':video')
annotationProcessor rootProject.ext.dependencies["arouter-compiler"]
// implementation rootProject.ext.dependencies["leakcanary"]
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.10'
}
// 链接包需要注释掉 否正无法更新 谷歌包需要打开
/*
project.afterEvaluate {
android.applicationVariants.all { variant ->
variant.outputs.each { output ->
output.processResources.doFirst { pm->
String manifestPath = output.processResources.manifestFile;
def manifestContent = file(manifestPath).getText()
manifestContent = manifestContent.replace('android.permission.REQUEST_INSTALL_PACKAGES', '')
file(manifestPath).write(manifestContent)
}
}
}
}*/