diff --git a/FaceUnity/build.gradle b/FaceUnity/build.gradle
index 99cc08f51..6a51680ba 100644
--- a/FaceUnity/build.gradle
+++ b/FaceUnity/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
apply plugin: 'img-optimizer'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-parcelize'
-
+apply from: "../package_config.gradle"
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
diff --git a/IAP6Helper/build.gradle b/IAP6Helper/build.gradle
index d8fc4749a..ba734c03e 100644
--- a/IAP6Helper/build.gradle
+++ b/IAP6Helper/build.gradle
@@ -1,4 +1,6 @@
apply plugin: 'com.android.library'
+apply from: "../package_config.gradle"
+
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
buildToolsVersion rootProject.ext.android.buildToolsVersion
diff --git a/Share/build.gradle b/Share/build.gradle
index d312a0a6e..3bde860d5 100644
--- a/Share/build.gradle
+++ b/Share/build.gradle
@@ -2,7 +2,7 @@ apply plugin: 'com.android.library'
apply plugin: 'img-optimizer'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-parcelize'
-
+apply from: "../package_config.gradle"
android {
compileSdkVersion rootProject.ext.android.compileSdkVersion
diff --git a/app/build.gradle b/app/build.gradle
index 3c5940adb..d7065ed3b 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -3,6 +3,7 @@ apply plugin: 'img-optimizer'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.crashlytics'
apply plugin: 'com.alibaba.arouter'
+apply from: "../package_config.gradle"
android {
dexOptions {
jumboMode = true
@@ -10,49 +11,6 @@ android {
project.tasks.getByName("tasks").doFirst {
}
- /* flavorDimensions "packageApk"
- productFlavors {
- LinkTest {
- dimension "packageApk"
- manifestPlaceholders = [serverHost: "https://ceshi.yaoulive.com",isGooglePlay:0,isPluginModel:true]
- }
- LinkOfficial {
- dimension "packageApk"
- manifestPlaceholders = [serverHost: "https://napi.yaoulive.com",isGooglePlay:0,isPluginModel:true]
- }
- GoogleTest {
- dimension "packageApk"
- manifestPlaceholders = [serverHost: "https://ceshi.yaoulive.com",isGooglePlay:1,isPluginModel:false]
- }
- GoogleOfficial{
- dimension "packageApk"
- manifestPlaceholders = [serverHost: "https://napi.yaoulive.com",isGooglePlay:1,isPluginModel:false]
- }
-
- }*/
- /* 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
@@ -128,22 +86,26 @@ android {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
+
+
applicationVariants.all { variant ->
println "清空build文件夹";
for (final def project in rootProject.getAllprojects()) {
+ def name = variant.name.replace('Debug', '').replace('Release', '').toLowerCase()
delete project.buildDir
+ delete 'app' + File.separator + name
println project.buildDir
}
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
+ String manifestPath = "build/intermediates/bundle_manifest/google_onlineRelease/bundle-manifest/AndroidManifest.xml"
+ def isGooglePlay = variant.name.contains("google")
println "谷歌版本:" + isGooglePlay
println "文件存在" + file(manifestPath).exists()
println "" + (isGooglePlay != 0)
- println "" + (file(manifestPath).exists() && isGooglePlay != 0)
- if (file(manifestPath).exists() && isGooglePlay != 0) {
+ println "" + (file(manifestPath).exists() && isGooglePlay)
+ if (file(manifestPath).exists() && isGooglePlay) {
def manifestContent = file(manifestPath).getText()
println "移除权限"
manifestContent = manifestContent.replace('', '')
@@ -152,8 +114,8 @@ android {
} else {
print "not Exists = " + manifestPath
}
- manifestPath = "build/intermediates/merged_manifests/release/processReleaseManifest/AndroidManifest.xml"
- if (file(manifestPath).exists() && isGooglePlay != 0) {
+ manifestPath = "build/intermediates/merged_manifests/google_onlineRelease/processReleaseManifest/AndroidManifest.xml"
+ if (file(manifestPath).exists() && isGooglePlay) {
def manifestContent = file(manifestPath).getText()
println "移除权限2"
manifestContent = manifestContent.replace('', '')
@@ -198,24 +160,75 @@ android {
}
}
}
- variant.outputs.all {
- def isGoogle = "链接"
- if (rootProject.ext.manifestPlaceholders.isGooglePlay == 1) {
- isGoogle = "谷歌"
- } else if (rootProject.ext.manifestPlaceholders.isGooglePlay == 2) {
- isGoogle = "Huawei"
- } else if (rootProject.ext.manifestPlaceholders.isGooglePlay == 3) {
- isGoogle = "Samsung"
+ variant.outputs.all { vt ->
+ println("输出文件名:${vt}")
+ def channel = ''
+ def server=''
+ if (variant.name.startsWith('huawei')) {
+ channel = "华为"
+ } else if (variant.name.startsWith('samsung')) {
+ channel = "三星"
+ } else if (variant.name.startsWith('google')) {
+ channel = "谷歌"
+ } else {
+ channel = "链接"
}
- def isPlugin = "完整"
- if (rootProject.ext.manifestPlaceholders.isPluginModel) {
- isPlugin = "插件"
+ if(variant.name.contains('online')){
+ server='正式服'
+ }else{
+ server='测试服'
}
- def isTest = "测试服"
- if (rootProject.ext.manifestPlaceholders.serverHost == "https://napi.yaoulive.com") {
- isTest = "正式服"
+ outputFileName = "[${new Date().format("yyyy-MM-dd HHmmss", TimeZone.getTimeZone("GMT+8"))}]PDLive-${defaultConfig.versionName}-${channel}-${server}-${variant.buildType.name}.apk"
+ }
+ tasks.named("sign${variant.name.capitalize()}Bundle", com.android.build.gradle.internal.tasks.FinalizeBundleTask) {
+ File file = finalBundleFile.asFile.get()
+ def channel = ''
+ if (variant.name.startsWith('huawei')) {
+ channel = "华为"
+ } else if (variant.name.startsWith('samsung')) {
+ channel = "三星"
+ } else if (variant.name.startsWith('google')) {
+ channel = "谷歌"
+ } else {
+ channel = "链接"
+ }
+ File finalFile = new File(file.parentFile, "[${new Date().format("yyyy-MM-dd HHmmss", TimeZone.getTimeZone("GMT+8"))}]PDLive-${defaultConfig.versionName}-${channel}-${variant.buildType.name}.aab")
+ finalBundleFile.set(finalFile)
+ }
+ project.afterEvaluate { project ->
+ project.tasks.each {
+ if (it.name.startsWith('assemble') && it.name.endsWith('Release')) {
+ it.doLast {
+ def dir = it.name.replace('assemble', '').replace('Release', '').toLowerCase()
+ println("处理assembleRelease ${project.rootDir}\\app\\$dir\\release\\ | " + new File("${project.rootDir}\\app\\$dir\\release\\").exists())
+ if (new File("${project.rootDir}\\app\\$dir\\release\\").exists()) {
+ println("准备拷贝apk文件")
+ copy {
+ from file("${project.rootDir}\\app\\$dir\\release\\")
+ into file("${project.rootDir}\\outputs\\apk\\")
+ include '**/*.apk'
+ }
+
+ }
+ println("打包apk结束")
+ }
+ } else if (it.name.startsWith('sign') && it.name.endsWith('ReleaseBundle')) {
+ it.doLast {
+ def dir = it.name.replace('sign', '').replace('ReleaseBundle', '').toLowerCase()
+ println("处理signReleaseBundle ${project.rootDir}\\app\\$dir\\release\\ | " + new File("${project.rootDir}\\app\\$dir\\release\\").exists())
+ if (new File("${project.rootDir}\\app\\$dir\\release\\").exists()) {
+ println("准备拷贝aab文件")
+ copy {
+ from file("${project.rootDir}\\app\\$dir\\release\\")
+ into file("${project.rootDir}\\outputs\\aab\\")
+ include '**/*.aab'
+ }
+
+ }
+ println("打包aab结束")
+ }
+ }
}
- outputFileName = "[${new Date().format("yyyy-MM-dd", TimeZone.getTimeZone("GMT+8"))}]PDLive-${defaultConfig.versionName}-${isGoogle}-${isPlugin}-${variant.buildType.name}-${isTest}.apk"
}
}
signingConfigs {
@@ -258,7 +271,7 @@ android {
ndk {
// TODO: 谷歌商城需要兼容两个平台
//abiFilters "armeabi-v7a", "arm64-v8a"
- abiFilters "armeabi-v7a", "arm64-v8a","x86","x86_64"
+ abiFilters "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
}
javaCompileOptions {
annotationProcessorOptions {
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index adc2c0efc..adb6d14b2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -2,6 +2,7 @@
+