to find the SDK location, I've removed it and pointed us at the global ZXing build.properties. -->
<property file="../build.properties"/>
<!-- Parts of the Android build system insist on the name 'sdk-location', so alias it. -->
- <property name="sdk-location" value="${android-home}"/>
+ <property name="sdk.dir" value="${android-home}"/>
<!-- 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
<!-- Custom Android task to deal with the project target, and import the proper rules.
This requires ant 1.6.0 or above. -->
<path id="android.antlibs">
- <pathelement path="${sdk-location}/tools/lib/anttasks.jar" />
- <pathelement path="${sdk-location}/tools/lib/sdklib.jar" />
- <pathelement path="${sdk-location}/tools/lib/androidprefs.jar" />
- <pathelement path="${sdk-location}/tools/lib/apkbuilder.jar" />
- <pathelement path="${sdk-location}/tools/lib/jarutils.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/anttasks.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/sdklib.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/androidprefs.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/apkbuilder.jar" />
+ <pathelement path="${sdk.dir}/tools/lib/jarutils.jar" />
</path>
<taskdef name="setup"
<!-- Properties -->
- <property name="android-tools" value="${sdk-location}/tools" />
+ <property name="android-tools" value="${sdk.dir}/tools" />
<!-- Input directories -->
<property name="source-folder" value="src" />
<!-- folder for the 3rd party java libraries -->
<!--<property name="external-libs-folder" value="../core" />-->
- <!-- folder for the native libraries -->
- <property name="native-libs-folder" value="libs" />
-
<!-- Output directories -->
<property name="gen-folder" value="gen" />
<property name="out-folder" value="bin" />
<arg value="-S" />
<arg path="${resource-folder}" />
<arg value="-I" />
- <arg path="${android-jar}" />
+ <arg path="${android.jar}" />
</exec>
</target>
<!-- Compile this project's .java files into .class files. -->
<target name="compile" depends="resource-src, aidl">
- <javac encoding="ascii" target="1.5" debug="true" extdirs=""
+ <javac encoding="ascii" target="1.5" debug="false" extdirs=""
destdir="${out-classes}"
bootclasspathref="android.target.classpath">
<src path="${source-folder}" />
<arg value="-keep class com.google.zxing.client.android.*Activity"/>
<arg value="-keep class com.google.zxing.client.android.ViewfinderView { public * ; }"/>
<arg value="-keep class com.google.zxing.client.android.book.SearchBookContents* { public * ; }"/>
- <!-- This works around some strange Android/ProGuard problem verifying MaskUtil -->
- <arg value="-keep class com.google.zxing.qrcode.encoder.MaskUtil { public * ; }"/>
<arg value="-target 5"/>
- <arg value="-optimizationpasses 4"/>
+ <arg value="-optimizationpasses 5"/>
+ <arg value="-optimizations !field/*,!class/merging/*"/> <!-- works around dex VerifyError -->
<arg value="-dontshrink"/>
<arg value="-dontobfuscate"/>
<arg value="-dontskipnonpubliclibraryclasses"/>
manifest="AndroidManifest.xml"
resources="${resource-folder}"
assets="${asset-folder}"
- androidjar="${android-jar}"
+ androidjar="${android.jar}"
outfolder="${out-folder}"
basename="${ant.project.name}" />
</target>
<file path="${intermediate-dex}" />
<sourcefolder path="${source-folder}" />
<jarfolder path="${external-libs-folder}" />
- <nativefolder path="${native-libs-folder}" />
</apkbuilder>
<copy file="${out-folder}/BarcodeScanner-debug.apk" tofile="${out-folder}/temp.apk" overwrite="true"/>
<exec executable="${android-tools}/zipalign">
<arg value="-f"/>
<arg value="-v"/>
<arg value="4"/>
- <arg value="${out-folder}/temp.apk"/>
+ <arg value="${out-folder}/temp.apk"/>
<arg value="${out-folder}/BarcodeScanner-debug.apk"/>
</exec>
</target>
<file path="${intermediate-dex}" />
<sourcefolder path="${source-folder}" />
<jarfolder path="${external-libs-folder}" />
- <nativefolder path="${native-libs-folder}" />
</apkbuilder>
<echo>All generated packages need to be signed with jarsigner before they are published.</echo>
<echo>Also run zipalign -f -v 4 BarcodeScanner.apk BarcodeScanner-aligned.apk after signing</echo>
</target>
- <!-- Install the package on the default emulator -->
+ <!-- Install (or reinstall) the package on the default emulator -->
<target name="install" depends="debug">
- <echo>Installing ${out-debug-package} onto default emulator...</echo>
- <exec executable="${adb}" failonerror="true">
- <arg value="install" />
- <arg path="${out-debug-package}" />
- </exec>
- </target>
-
- <target name="reinstall" depends="debug">
<echo>Installing ${out-debug-package} onto default emulator...</echo>
<exec executable="${adb}" failonerror="true">
<arg value="install" />