From 84afa2792b604400affb5321dda0af44438b2657 Mon Sep 17 00:00:00 2001 From: shifujun Date: Thu, 20 Apr 2023 11:06:33 +0800 Subject: [PATCH] =?UTF-8?q?fix(core.gradle-plugin):=20=E5=85=BC=E5=AE=B9?= =?UTF-8?q?=E6=9B=B4=E9=AB=98=E7=89=88=E6=9C=ACcmdline-tools=E4=B8=ADapkan?= =?UTF-8?q?alyzer=E6=96=87=E4=BB=B6=E5=90=8D=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 看起来只是在cmdline-tools 2.0版本升级中,把这些java lib的jar文件名都加了 -classpath后缀。 fix #1179 --- .../com/tencent/shadow/core/gradle/ShadowPlugin.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/projects/sdk/core/gradle-plugin/src/main/kotlin/com/tencent/shadow/core/gradle/ShadowPlugin.kt b/projects/sdk/core/gradle-plugin/src/main/kotlin/com/tencent/shadow/core/gradle/ShadowPlugin.kt index 8f3f64c8f..f7e090cd4 100644 --- a/projects/sdk/core/gradle-plugin/src/main/kotlin/com/tencent/shadow/core/gradle/ShadowPlugin.kt +++ b/projects/sdk/core/gradle-plugin/src/main/kotlin/com/tencent/shadow/core/gradle/ShadowPlugin.kt @@ -101,14 +101,19 @@ class ShadowPlugin : Plugin { // 如果有多个版本,随机取第一个,因为只用decodeXml方法,预期不同版本没什么区别。 val apkanalyzerJarFile = try { - sdkDirectory.walk().filter { it.name.equals("apkanalyzer.jar") } - .first() + sdkDirectory.walk().filter { file -> + listOf( + "apkanalyzer.jar",// 低版本build tools + "apkanalyzer-classpath.jar",// 2020-06-05 cmdline-tools version 2.0 + ).any { it == file.name } + }.first() } catch (e: NoSuchElementException) { // https://developer.android.com/studio/command-line/apkanalyzer // https://developer.android.com/studio/releases/sdk-tools + // https://cs.android.com/android/platform/superproject/+/master:prebuilts/cmdline-tools/tools/bin/apkanalyzer;l=67;bpv=1;bpt=0 throw Error( - "找不到apkanalyzer.jar.它来自:" + - "SDK Tools, Revision 26.1.1 (September 2017)," + + "找不到apkanalyzer.它来自:" + + "cmdline-tools." + "如果高版本SDK也找不到这个文件,Shadow就需要更新了。" ) }