From 84278e73bb317cf2036828b0fb5533ab742a48c6 Mon Sep 17 00:00:00 2001
From: Daniel Stonier <d.stonier@gmail.com>
Date: Tue, 8 Apr 2014 16:46:34 +0900
Subject: [PATCH] target-sdk version bugfixing for catkin create projects.

---
 .../create_android_project.py                 | 23 +++++++++++--------
 .../templates/android_project/build.gradle.in |  9 ++++++--
 2 files changed, 20 insertions(+), 12 deletions(-)

diff --git a/src/rosjava_build_tools/create_android_project.py b/src/rosjava_build_tools/create_android_project.py
index 1f273f8..fc1bdaf 100644
--- a/src/rosjava_build_tools/create_android_project.py
+++ b/src/rosjava_build_tools/create_android_project.py
@@ -28,10 +28,10 @@ def parse_arguments():
     parser.add_argument('name',
                         nargs=1,
                         help='The name for the package')
-    parser.add_argument('-s', '--sdk-version',
+    parser.add_argument('-t', '--target-version',
                         action='store',
-                        default='18.1.1',
-                        help='Android sdk version [18.1.1]')
+                        default='15',
+                        help='Target android version [15]')
     parser.add_argument('-p', '--android-package-name',
                         action='store',
                         default='com.github.rosjava.android.pkg_name',
@@ -46,27 +46,30 @@ def parse_arguments():
     return args
 
 
-def actually_create_android_project(package_name, sdk_version, java_package_name, is_library):
+def actually_create_android_project(package_name, target_version, java_package_name, is_library):
     path = os.path.join(os.getcwd(), package_name.lower())
     console.pretty_println("\nCreating android project ", console.bold)
     console.pretty_print("  Name      : ", console.cyan)
     console.pretty_println("%s" % package_name, console.yellow)
-    console.pretty_print("  Sdk Ver   : ", console.cyan)
-    console.pretty_println("%s" % sdk_version, console.yellow)
+    console.pretty_print("  Target Ver: ", console.cyan)
+    console.pretty_println("%s" % target_version, console.yellow)
     console.pretty_print("  Java Name : ", console.cyan)
     console.pretty_println("%s" % java_package_name, console.yellow)
     if is_library:
         console.pretty_print("  Library   : ", console.cyan)
         console.pretty_println("yes\n", console.yellow)
-        cmd = ['android', 'create', 'lib-project', '-n', package_name, '-p', path, '-k', java_package_name, '-t', 'android-' + sdk_version, ]
+        cmd = ['android', 'create', 'lib-project', '-n', package_name, '-p', path, '-k', java_package_name, '-t', 'android-' + target_version, ]
     else:
         activity_name = utils.camel_case(package_name)
         console.pretty_print("  Activity  : ", console.cyan)
         console.pretty_println("%s\n" % activity_name, console.yellow)
-        cmd = ['android', 'create', 'project', '-n', package_name, '-p', path, '-k', java_package_name, '-t', 'android-' + sdk_version, '-a', activity_name]
+        cmd = ['android', 'create', 'project', '-n', package_name, '-p', path, '-k', java_package_name, '-t', 'android-' + target_version, '-a', activity_name]
+        print("Command: %s" % cmd)
     try:
         subprocess.check_call(cmd)
+        print("Command: %s" % cmd)
     except subprocess.CalledProcessError:
+        print("Error")
         raise subprocess.CalledProcessError("failed to create android project.")
     # This is in the old form, let's shovel the shit around to the new form
     utils.mkdir_p(os.path.join(path, 'src', 'main', 'java'))
@@ -157,8 +160,8 @@ def extra_gradle_library_text():
 
 def create_android_project(is_library=False):
     args = parse_arguments()
-    actually_create_android_project(args.name[0], args.sdk_version, args.android_package_name, is_library)
-    create_gradle_package_files(args, args.author, is_library, args.sdk_version)
+    actually_create_android_project(args.name[0], args.target_version, args.android_package_name, is_library)
+    create_gradle_package_files(args, args.author, is_library, args.target_version)
     add_to_root_gradle_settings(args.name[0])
 
 ##############################################################################
diff --git a/src/rosjava_build_tools/templates/android_project/build.gradle.in b/src/rosjava_build_tools/templates/android_project/build.gradle.in
index e7e6326..015568b 100644
--- a/src/rosjava_build_tools/templates/android_project/build.gradle.in
+++ b/src/rosjava_build_tools/templates/android_project/build.gradle.in
@@ -34,6 +34,11 @@ dependencies {
 apply plugin: '%(plugin_name)s'
 
 android {
-    compileSdkVersion %(sdk_version)s
+  packagingOptions {
+    /* https://github.com/rosjava/android_core/issues/194 */
+    exclude 'META-INF/LICENSE.txt'
+    exclude 'META-INF/NOTICE.txt'
+  }
+  compileSdkVersion %(sdk_version)s
 }
- 
+ 
\ No newline at end of file
-- 
GitLab