diff options
| -rw-r--r-- | main/.classpath | 2 | ||||
| -rw-r--r-- | main/build.properties | 7 | ||||
| -rw-r--r-- | main/build.xml | 127 | ||||
| -rw-r--r-- | main/build_cgeo.xml | 206 | ||||
| -rw-r--r-- | main/default.properties | 11 | ||||
| -rw-r--r-- | main/proguard.cfg | 37 | ||||
| -rw-r--r-- | tests/.classpath | 2 | ||||
| -rw-r--r-- | tests/default.properties | 11 |
8 files changed, 209 insertions, 194 deletions
diff --git a/main/.classpath b/main/.classpath index 9a2bd80..db7b7b6 100644 --- a/main/.classpath +++ b/main/.classpath @@ -7,5 +7,5 @@ <classpathentry kind="lib" path="libs/locus-api-4.0.jar"/> <classpathentry kind="lib" path="libs/mapsforge-map-0.2.4.jar"/> <classpathentry kind="lib" path="libs/commons-collections-3.2.1.jar"/> - <classpathentry kind="output" path="bin"/> + <classpathentry kind="output" path="bin/classes"/> </classpath> diff --git a/main/build.properties b/main/build.properties deleted file mode 100644 index a4502d6..0000000 --- a/main/build.properties +++ /dev/null @@ -1,7 +0,0 @@ - -# Set the output directory for class files to the same directory Eclipse uses. Was bin/classes -out.classes.dir=bin - -# Proguard configuration -proguard.config=proguard.cfg -proguard.jar=support/proguard.jar diff --git a/main/build.xml b/main/build.xml index da7e888..502216d 100644 --- a/main/build.xml +++ b/main/build.xml @@ -1,40 +1,87 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<project name="cgeo">
- <property file="local.properties" />
-
- <property name="cgeo.buildxml" value="./build_cgeo.xml"/>
-
- <target name="help" description="Display available targets">
- <ant antfile="${cgeo.buildxml}" target="help"/>
- </target>
-
- <target name="clean" description="Remove output files">
- <ant antfile="${cgeo.buildxml}" target="clean"/>
- </target>
-
- <target name="compile" description="Compile project">
- <ant antfile="${cgeo.buildxml}" target="compile"/>
- </target>
-
- <target name="debug" description="Build application">
- <ant antfile="${cgeo.buildxml}" target="debug"/>
- </target>
-
- <target name="release" description="Build application">
- <ant antfile="${cgeo.buildxml}" target="release"/>
- </target>
-
- <target name="install" description="Install application">
- <ant antfile="${cgeo.buildxml}" target="install"/>
- </target>
-
- <target name="uninstall" description="Uninstall application">
- <ant antfile="${cgeo.buildxml}" target="uninstall"/>
- </target>
-
- <target name="install_release" description="Install signed release application" depends="release">
- <exec executable="${sdk.dir}/platform-tools/adb">
- <arg line="install -r ./bin/${ant.project.name}-release.apk" />
- </exec>
- </target>
-</project>
+<?xml version="1.0" encoding="UTF-8"?> +<project name="cgeo"> + + <!-- The local.properties file is created and updated by the 'android' tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <loadproperties srcFile="local.properties" /> + + <!-- The ant.properties file can be created by you. It is only edited by the + 'android' tool to add properties to it. + This is the place to change some Ant specific build properties. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + For other overridable properties, look at the beginning of the rules + files in the SDK, at tools/ant/build.xml + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="ant.properties" /> + + <!-- The project.properties file is created and updated by the 'android' + tool, as well as ADT. + + This contains project specific properties such as project target, and library + dependencies. Lower level build properties are stored in ant.properties + (or in .classpath for Eclipse projects). + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <loadproperties srcFile="project.properties" /> + + <!-- quick check on sdk.dir --> + <fail + message="sdk.dir is missing. Make sure to generate local.properties using 'android update project'" + unless="sdk.dir" + /> + + <import file="build_cgeo.xml"/> + + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> +<!-- + <target name="-pre-build"> + </target> + <target name="-pre-compile"> + </target> + + /* This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir} */ + <target name="-post-compile"> + </target> +--> + + <!-- Import the actual build file. + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <import> task. + - customize it to your needs. + - Customize the whole content of build.xml + - copy/paste the content of the rules files (minus the top node) + into this file, replacing the <import> task. + - customize to your needs. + + *********************** + ****** IMPORTANT ****** + *********************** + In all cases you must update the value of version-tag below to read 'custom' instead of an integer, + in order to avoid having your file be overridden by tools such as "android update project" + --> + <!-- version-tag: custom --> + <import file="${sdk.dir}/tools/ant/build.xml" /> + +</project> diff --git a/main/build_cgeo.xml b/main/build_cgeo.xml index 7088814..b0736a1 100644 --- a/main/build_cgeo.xml +++ b/main/build_cgeo.xml @@ -1,101 +1,105 @@ -<?xml version="1.0" encoding="UTF-8"?>
-<project name="cgeo">
-
-<!-- The local.properties file is created and updated by the 'android'
- tool.
- It contains the path to the SDK. It should *NOT* be checked into
- Version Control Systems. -->
- <property file="local.properties" />
-
- <!-- The build.properties file can be created by you and is never touched
- by the 'android' tool. This is the place to change some of the
- default property values used by the Ant rules.
- Here are some properties you may want to change/update:
-
- source.dir
- The name of the source directory. Default is 'src'.
- out.dir
- The name of the output directory. Default is 'bin'.
-
- Properties related to the SDK location or the project target should
- be updated using the 'android' tool with the 'update' action.
-
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems.
-
- -->
- <property file="build.properties" />
-
- <!-- The default.properties file is created and updated by the 'android'
- tool, as well as ADT.
- This file is an integral part of the build system for your
- application and should be checked into Version Control Systems. -->
- <property file="default.properties" />
-
- <!-- The private.properties file sets api-keys as well as keystore,
- certificate and passwords (if you want).
- See /templates/private.properties for more information. -->
- <property file="private.properties" />
-
-
- <!-- Required pre-setup import -->
- <import file="${sdk.dir}/tools/ant/pre_setup.xml" />
-
-
-<!-- extension targets. Uncomment the ones where you want to do custom work
- in between standard targets -->
-
- <target name="-pre-build">
- <if condition="${build.mode.release}">
- <then>
- <filterset id="build-tokens">
- <filter token="maps.api.key" value="${maps.api.key.market}"/>
- </filterset>
- </then>
- <else>
- <filterset id="build-tokens">
- <filter token="maps.api.key" value="${maps.api.key}"/>
- </filterset>
- </else>
- </if>
- <copy file="./templates/mapsapikey.xml" todir="./res/values/" overwrite="true">
- <filterset refid="build-tokens" />
- </copy>
- </target>
- <target name="-pre-compile">
- </target>
-
- <!-- [This is typically used for code obfuscation.
- Compiled code location: ${out.classes.absolute.dir}
- If this is not done in place, override ${out.dex.input.absolute.dir}] -->
- <target name="-post-compile">
- </target>
-
- <target name="debugAPI" depends="-pre-build"
- description="Changes API key to debug">
- </target>
- <!-- Execute the Android Setup task that will setup some properties
- specific to the target, and import the build rules files.
-
- The rules file is imported from
- <SDK>/tools/ant/
- Depending on the project type it can be either:
- - main_rules.xml
- - lib_rules.xml
- - test_rules.xml
-
- To customize existing targets, there are two options:
- - Customize only one target:
- - copy/paste the target into this file, *before* the
- <setup> task.
- - customize it to your needs.
- - Customize the whole script.
- - copy/paste the content of the rules files (minus the top node)
- into this file, *after* the <setup> task
- - disable the import of the rules by changing the setup task
- below to <setup import="false" />.
- - customize to your needs.
- -->
- <setup />
-
-</project>
+<?xml version="1.0" encoding="UTF-8"?> +<project name="cgeo-include"> + +<!-- The local.properties file is created and updated by the 'android' + tool. + It contains the path to the SDK. It should *NOT* be checked into + Version Control Systems. --> + <property file="local.properties" /> + + <!-- The build.properties file can be created by you and is never touched + by the 'android' tool. This is the place to change some of the + default property values used by the Ant rules. + Here are some properties you may want to change/update: + + source.dir + The name of the source directory. Default is 'src'. + out.dir + The name of the output directory. Default is 'bin'. + + Properties related to the SDK location or the project target should + be updated using the 'android' tool with the 'update' action. + + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. + + --> + <property file="build.properties" /> + + <!-- The default.properties file is created and updated by the 'android' + tool, as well as ADT. + This file is an integral part of the build system for your + application and should be checked into Version Control Systems. --> + <property file="default.properties" /> + + <!-- The private.properties file sets api-keys as well as keystore, + certificate and passwords (if you want). + See /templates/private.properties for more information. --> + <property file="private.properties" /> + + <target name="install_release" description="Install signed release application" depends="release"> + <exec executable="${sdk.dir}/platform-tools/adb"> + <arg line="install -r ./bin/${ant.project.name}-release.apk" /> + </exec> + </target> + +<!-- extension targets. Uncomment the ones where you want to do custom work + in between standard targets --> + + <target name="-pre-build"> + <condition property="build.mode.release" else="false"> + <equals arg1="${build.target}" arg2="release" /> + </condition> + + <if condition="${build.mode.release}"> + <then> + <filterset id="build-tokens"> + <filter token="maps.api.key" value="${maps.api.key.market}"/> + </filterset> + </then> + <else> + <filterset id="build-tokens"> + <filter token="maps.api.key" value="${maps.api.key}"/> + </filterset> + </else> + </if> + <copy file="./templates/mapsapikey.xml" todir="./res/values/" overwrite="true"> + <filterset refid="build-tokens" /> + </copy> + </target> + <target name="-pre-compile"> + </target> + + <!-- [This is typically used for code obfuscation. + Compiled code location: ${out.classes.absolute.dir} + If this is not done in place, override ${out.dex.input.absolute.dir}] --> + <target name="-post-compile"> + </target> + + <target name="debugAPI" depends="-pre-build" + description="Changes API key to debug"> + </target> + <!-- Execute the Android Setup task that will setup some properties + specific to the target, and import the build rules files. + + The rules file is imported from + <SDK>/tools/ant/ + Depending on the project type it can be either: + - main_rules.xml + - lib_rules.xml + - test_rules.xml + + To customize existing targets, there are two options: + - Customize only one target: + - copy/paste the target into this file, *before* the + <setup> task. + - customize it to your needs. + - Customize the whole script. + - copy/paste the content of the rules files (minus the top node) + into this file, *after* the <setup> task + - disable the import of the rules by changing the setup task + below to <setup import="false" />. + - customize to your needs. + --> + +</project> diff --git a/main/default.properties b/main/default.properties deleted file mode 100644 index 420db56..0000000 --- a/main/default.properties +++ /dev/null @@ -1,11 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system use, -# "build.properties", and override values to adapt the script to your -# project structure. - -# Project target. -target=Google Inc.:Google APIs:8 diff --git a/main/proguard.cfg b/main/proguard.cfg index 02ab774..e989bf5 100644 --- a/main/proguard.cfg +++ b/main/proguard.cfg @@ -1,8 +1,9 @@ -optimizationpasses 2 +-dontusemixedcaseclassnames +-dontskipnonpubliclibraryclasses -dontpreverify --dontobfuscate --allowaccessmodification --optimizations !code/simplification/arithmetic,!code/allocation/variable +-verbose +-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -dontwarn java.beans.* -dontwarn org.mapsforge.android.maps.Test* @@ -12,16 +13,25 @@ -keep public class * extends android.app.Service -keep public class * extends android.content.BroadcastReceiver -keep public class * extends android.content.ContentProvider --keep public class cgeo.geocaching.* +-keep public class * extends android.app.backup.BackupAgentHelper +-keep public class * extends android.preference.Preference -keepclasseswithmembernames class * { + native <methods>; +} + +-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet); } --keepclasseswithmembernames class * { +-keepclasseswithmembers class * { public <init>(android.content.Context, android.util.AttributeSet, int); } +-keepclassmembers class * extends android.app.Activity { + public void *(android.view.View); +} + -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); @@ -31,23 +41,6 @@ public static final android.os.Parcelable$Creator *; } --keepclassmembers class **.R$* { - public static <fields>; -} - --keepclassmembers class cgeo.geocaching.** { - public void *(android.view.View); -} - --keep public class * extends android.view.View { - public <init>(android.content.Context); - public <init>(android.content.Context, android.util.AttributeSet); - public <init>(android.content.Context, android.util.AttributeSet, int); - public void set*(...); -} - --keep public class cgeo.geocaching.backup.CentralBackupAgent - -keepclassmembers class cgeo.geocaching.compatibility.AndroidLevel8 { public static <methods>; } diff --git a/tests/.classpath b/tests/.classpath index 03e9cf5..f351d98 100644 --- a/tests/.classpath +++ b/tests/.classpath @@ -4,5 +4,5 @@ <classpathentry kind="src" path="src"/> <classpathentry kind="src" path="gen"/> <classpathentry combineaccessrules="false" kind="src" path="/cgeo"/> - <classpathentry kind="output" path="bin"/> + <classpathentry kind="output" path="bin/classes"/> </classpath> diff --git a/tests/default.properties b/tests/default.properties deleted file mode 100644 index 420db56..0000000 --- a/tests/default.properties +++ /dev/null @@ -1,11 +0,0 @@ -# This file is automatically generated by Android Tools. -# Do not modify this file -- YOUR CHANGES WILL BE ERASED! -# -# This file must be checked in Version Control Systems. -# -# To customize properties used by the Ant build system use, -# "build.properties", and override values to adapt the script to your -# project structure. - -# Project target. -target=Google Inc.:Google APIs:8 |
