From 086f535b543bb8c4eb1605e1424b57fa322bdf7c Mon Sep 17 00:00:00 2001 From: BlueMatthew Date: Sat, 20 Jan 2024 20:17:33 +0800 Subject: [PATCH] =?UTF-8?q?=E9=99=90=E5=88=B6=E5=8D=95=E4=BE=8B=E8=BF=90?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 2 +- deploy.gradle | 67 ++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 deploy.gradle diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 6766d7a7..ab891856 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -152,10 +152,10 @@ - diff --git a/deploy.gradle b/deploy.gradle new file mode 100644 index 00000000..67103980 --- /dev/null +++ b/deploy.gradle @@ -0,0 +1,67 @@ +project.archivesBaseName = "XXXApp" + +static def releaseTime() { + return new Date().format("HHmmss")//yyyyMMdd_HHmmss +} + +android.applicationVariants.all { variant -> + variant.outputs.all { + if (outputFileName.endsWith('.apk')) { + //这里使用之前定义apk文件名称 + +// outputFileName = "${project.archivesBaseName}_v${variant.productFlavors[0].versionName}_${variant.productFlavors[0].versionCode}_${variant.productFlavors[0].name}_${releaseTime()}_${variant.buildType.name}.apk" + outputFileName = "${project.archivesBaseName}_${versionCode}_v${versionName}_${releaseTime()}_${name}.apk" + } + } + + //复制到根目录下的output文件夹 + File desFilePath = new File("${rootDir}/output") + //删除output目录 + delete desFilePath + + //API 'variant.getAssemble()' is obsolete and has been replaced with 'variant.getAssembleProvider()'. + //It will be removed in version 7.0 of the Android Gradle plugin. + //编译完成后将apk复制到指定目录 +// variant.assemble.doLast { +// variant.outputs.all { +// try { +// //判断文件夹是否存在 +// if (!desFilePath.exists()) { +// desFilePath.mkdir() +// } +// //将编译好的apk 复制到output目录 +// copy { +// from outputFile +// into desFilePath +// include '**/*.apk' +// } +// } catch (Exception e) { +// e.printStackTrace() +// } +// } +// } + //used variant.getAssembleProvider(). + //(variant.assembleProvider.configure|variant.assembleProvider.get.doLast) + //https://stackoverflow.com/questions/54193510/while-android-studio-updated-to-v3-3-getting-api-variant-getassemble-is-obso + variant.assembleProvider.configure { + it.doLast { + variant.outputs.all { + try { + //判断文件夹是否存在 + if (!desFilePath.exists()) { + desFilePath.mkdir() + } + //将编译好的apk 复制到output目录 + copy { + from outputFile + into desFilePath + include '**/*.apk' + } + } catch (Exception e) { + e.printStackTrace() + } + } + } + } +} +