From f9bf27579e3ad5f89239ea9f571e8b50739e8920 Mon Sep 17 00:00:00 2001 From: Yaroslav <43380144+MrIkso@users.noreply.github.com> Date: Thu, 5 Aug 2021 15:16:05 +0300 Subject: [PATCH] fix: additional checks for export to gradle (#1222) (PR #1224) --- .../jadx/core/export/ExportGradleProject.java | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/jadx-core/src/main/java/jadx/core/export/ExportGradleProject.java b/jadx-core/src/main/java/jadx/core/export/ExportGradleProject.java index 0a55b2930..e11ebb4f9 100644 --- a/jadx-core/src/main/java/jadx/core/export/ExportGradleProject.java +++ b/jadx-core/src/main/java/jadx/core/export/ExportGradleProject.java @@ -113,21 +113,27 @@ public class ExportGradleProject { Integer targetSdk = Integer.valueOf(usesSdk.getAttribute("android:targetSdkVersion")); String appName = "UNKNOWN"; - String appLabelName = application.getAttribute("android:label").split("/")[1]; - NodeList strings = appStrings.getElementsByTagName("string"); + if (application.hasAttribute("android:label")) { + String appLabelName = application.getAttribute("android:label"); + if (appLabelName.startsWith("@string")) { + appLabelName = appLabelName.split("/")[1]; + NodeList strings = appStrings.getElementsByTagName("string"); - for (int i = 0; i < strings.getLength(); i++) { - String stringName = strings.item(i) - .getAttributes() - .getNamedItem("name") - .getNodeValue(); + for (int i = 0; i < strings.getLength(); i++) { + String stringName = strings.item(i) + .getAttributes() + .getNamedItem("name") + .getNodeValue(); - if (stringName.equals(appLabelName)) { - appName = strings.item(i).getTextContent(); - break; + if (stringName.equals(appLabelName)) { + appName = strings.item(i).getTextContent(); + break; + } + } + } else { + appName = appLabelName; } } - return new ApplicationParams(appName, minSdk, targetSdk, versionCode, versionName); }