summaryrefslogtreecommitdiff
path: root/android/Bootstrap
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2012-11-24 16:34:33 +0000
committerMichael Meeks <michael.meeks@suse.com>2012-11-24 16:42:47 +0000
commitaaaf5126c6a465b2758c111f41bb4f55d39b3fe0 (patch)
tree219fd31180b60469aa2a263b67899238072f2ad9 /android/Bootstrap
parent4ae193b308e86b91393b60a1a5f84037a4c40f30 (diff)
android: adapt the ant clobbering to a given SDK version.
Another volunteer fell over this, and (I hope) it's easy enough. Change-Id: I7149d16fd8b7749afeeccef2ebc8f493200f1900
Diffstat (limited to 'android/Bootstrap')
-rw-r--r--android/Bootstrap/.gitignore1
-rw-r--r--android/Bootstrap/Makefile.shared28
-rw-r--r--android/Bootstrap/no-resource-compress-20.xml44
-rw-r--r--android/Bootstrap/no-resource-compress-21.xml (renamed from android/Bootstrap/no-resource-compress.xml)5
4 files changed, 77 insertions, 1 deletions
diff --git a/android/Bootstrap/.gitignore b/android/Bootstrap/.gitignore
new file mode 100644
index 000000000000..9f3d7afcc69e
--- /dev/null
+++ b/android/Bootstrap/.gitignore
@@ -0,0 +1 @@
+no-resource-compress.xml \ No newline at end of file
diff --git a/android/Bootstrap/Makefile.shared b/android/Bootstrap/Makefile.shared
index e0bd143eb81c..75beab60135d 100644
--- a/android/Bootstrap/Makefile.shared
+++ b/android/Bootstrap/Makefile.shared
@@ -2,6 +2,10 @@
# Common Makefile pieces for building Java / Android apps.
#
+#
+# BOOTSTRAPDIR needs to be set to this directory before starting this
+#
+
# Probably would be best to just stop fooling around with the possibilities to
# set various stuff with the -env command line parameters (and environment
# variables?) and in a plethora of rc files, and hardcode construction of
@@ -26,9 +30,31 @@ endef
# Helpful rules ...
#
+#
+# The Android SDK recommends you copy/paste some big -package-resources
+# rule in order to not pack certain kinds of resources. Unfortunately this
+# rule interacts with the rest of the ant code in horrible ways such that
+# upgrading your SDK auto-breaks everything.
+#
+# Horrors below:
+#
+$(BOOTSTRAPDIR)/no-resource-compress.xml :
+ ( \
+ android_sdk_ver=`grep 'Pkg.Revision' /opt/libreoffice/android-sdk-linux/tools/source.properties | sed 's/^.*=//' | sed 's/\..*//'` ; \
+ echo "Android SDK version is: $$android_sdk_ver"; \
+ cp -a $(BOOTSTRAPDIR)/no-resource-compress-$$android_sdk_ver.xml $(BOOTSTRAPDIR)/no-resource-compress.xml ; \
+ if ! test -f $(BOOTSTRAPDIR)/no-resource-compress.xml; then \
+ echo "Unknown Android SDK version: $$android_sdk_ver - failing hard" \
+ exit 1; \
+ fi \
+ ) || exit 1
+
+android_version_setup : $(BOOTSTRAPDIR)/no-resource-compress.xml
+
properties:
echo sdk.dir=$(ANDROID_SDK_HOME) >local.properties
echo sdk.dir=$(ANDROID_SDK_HOME) >../../Bootstrap/local.properties
+ echo "# File needed by ndk-gdb" >jni/Application.mk
echo "APP_ABI := $(ANDROID_APP_ABI)" > jni/Application.mk
echo "APP_PLATFORM := android-14" >> jni/Application.mk
@@ -43,7 +69,7 @@ uninstall:
clean: properties
$(ANT) clean
- rm -rf assets $(SODEST) $(OBJLOCAL)
+ rm -rf assets libs $(SODEST) $(OBJLOCAL) $(BOOTSTRAPDIR)/no-resource-compress.xml
# If you reinstall an app several times *on the simulator*, even if you
# uninstall it between, disk space seems to leak that won't get recycled until
diff --git a/android/Bootstrap/no-resource-compress-20.xml b/android/Bootstrap/no-resource-compress-20.xml
new file mode 100644
index 000000000000..d6fb92582d27
--- /dev/null
+++ b/android/Bootstrap/no-resource-compress-20.xml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="clobber_android_rules" default="debug">
+
+ <import file="${sdk.dir}/tools/ant/build.xml" />
+
+<!--
+ This is copy/pasted from ${sdk.dir}/tools/ant/build.xml
+ and tweaked - it needs to match the same SDK version as
+ your build
+-->
+
+<!--
+ This file is auto-generated by Bootstrap/Makefile.shared from
+ a versioned .xml file - please edit me there
+-->
+
+ <target name="-package-resources" depends="-crunch">
+ <!-- only package resources if *not* a library project -->
+ <do-only-if-not-library elseText="Library project: do not package resources..." >
+ <aapt executable="${aapt}"
+ command="package"
+ versioncode="${version.code}"
+ versionname="${version.name}"
+ debug="${build.is.packaging.debug}"
+ manifest="${out.manifest.abs.file}"
+ assets="${asset.absolute.dir}"
+ androidjar="${project.target.android.jar}"
+ apkfolder="${out.absolute.dir}"
+ nocrunch="${build.packaging.nocrunch}"
+ resourcefilename="${resource.package.file.name}"
+ resourcefilter="${aapt.resource.filter}"
+ libraryResFolderPathRefid="project.library.res.folder.path"
+ libraryPackagesRefid="project.library.packages"
+ previousBuildType="${build.last.target}"
+ buildType="${build.target}"
+ ignoreAssets="${aapt.ignore.assets}">
+ <res path="${out.res.absolute.dir}" />
+ <res path="${resource.absolute.dir}" />
+ <nocompress/> <!-- forces no compression on any files in assets or res/raw -->
+ <!-- <nocompress extension="xml" /> forces no compression on specific file extensions in assets and res/raw -->
+ </aapt>
+ </do-only-if-not-library>
+ </target>
+</project>
diff --git a/android/Bootstrap/no-resource-compress.xml b/android/Bootstrap/no-resource-compress-21.xml
index 314f6d5e3c5e..2b297826f0c8 100644
--- a/android/Bootstrap/no-resource-compress.xml
+++ b/android/Bootstrap/no-resource-compress-21.xml
@@ -9,6 +9,11 @@
your build
-->
+<!--
+ This file is auto-generated by Bootstrap/Makefile.shared from
+ a versioned .xml file - please edit me there
+-->
+
<target name="-package-resources" depends="-crunch">
<!-- only package resources if *not* a library project -->
<do-only-if-not-library elseText="Library project: do not package resources..." >