From 00930d294a84d708234d8feafe16d055a35d70db Mon Sep 17 00:00:00 2001 From: Yong Date: Sat, 3 Sep 2016 01:30:35 +0800 Subject: [PATCH] * fix packageName not found error --- .../com/antfortune/freeline/FreelineInitializer.groovy | 9 ++++++++- .../com/antfortune/freeline/FreelineParser.groovy | 10 ++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/gradle/src/main/groovy/com/antfortune/freeline/FreelineInitializer.groovy b/gradle/src/main/groovy/com/antfortune/freeline/FreelineInitializer.groovy index f109e91..41f770a 100644 --- a/gradle/src/main/groovy/com/antfortune/freeline/FreelineInitializer.groovy +++ b/gradle/src/main/groovy/com/antfortune/freeline/FreelineInitializer.groovy @@ -130,7 +130,7 @@ class FreelineInitializer { projectDescription.main_r_path = FreelineGenerator.generateMainRPath(projectDescription.build_directory.toString(), productFlavor, projectDescription.package.toString()) if (packageName == null || packageName == '') { - projectDescription.package = project.android.defaultConfig.applicationId.toString() + projectDescription.package = getPackageName(project.android.defaultConfig.applicationId.toString(), projectDescription.main_manifest_path) projectDescription.debug_package = projectDescription.package } @@ -214,6 +214,13 @@ class FreelineInitializer { return dir.exists() && dir.isDirectory() } + private static String getPackageName(String applicationId, String manifestPath) { + if (!FreelineUtils.isEmpty(applicationId) && !"null".equals(applicationId)) { + return applicationId + } + return FreelineParser.getPackage(manifestPath) + } + private static String getJavaHome() { String env = System.getenv("JAVA_HOME") if (env == null || "".equals(env)) { diff --git a/gradle/src/main/groovy/com/antfortune/freeline/FreelineParser.groovy b/gradle/src/main/groovy/com/antfortune/freeline/FreelineParser.groovy index 0e815fa..17e6616 100644 --- a/gradle/src/main/groovy/com/antfortune/freeline/FreelineParser.groovy +++ b/gradle/src/main/groovy/com/antfortune/freeline/FreelineParser.groovy @@ -4,6 +4,16 @@ package com.antfortune.freeline */ class FreelineParser { + public static String getPackage(String manifestPath) { + def packageName = "" + def manifestFile = new File(manifestPath) + if (manifestFile.exists() && manifestFile.isFile()) { + def manifest = new XmlSlurper(false, false).parse(manifestFile) + packageName = manifest."@package" + } + return packageName + } + public static String getLauncher(String manifestPath, String packageName) { def launcher = "" def manifestFile = new File(manifestPath)