From 382cfb780ca9a40f80e3932544bd32aeccb66e5a Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Tue, 26 Jul 2016 07:23:39 -0400 Subject: [PATCH] Update SDK build tools to 24.0.1 --- build-package.sh | 4 +++- packages/dx/build.sh | 17 ++++++++++++----- packages/dx/dx | 2 +- packages/jack/build.sh | 3 +-- scripts/setup-android-sdk.sh | 2 +- 5 files changed, 18 insertions(+), 10 deletions(-) diff --git a/build-package.sh b/build-package.sh index eb44cd8baf..c670f37ddf 100755 --- a/build-package.sh +++ b/build-package.sh @@ -17,7 +17,7 @@ test -f $HOME/.termuxrc && . $HOME/.termuxrc : ${TERMUX_DEBUG:=""} : ${TERMUX_PROCESS_DEB:=""} : ${TERMUX_API_LEVEL:="21"} -: ${TERMUX_ANDROID_BUILD_TOOLS_VERSION:="23.0.3"} +: ${TERMUX_ANDROID_BUILD_TOOLS_VERSION:="24.0.1"} : ${TERMUX_NDK_VERSION:="12"} # Handle command-line arguments: @@ -97,6 +97,8 @@ test -t 1 && printf "\033]0;$1...\007" # to avoid stuff like arm-linux-androideabi-ld there to conflict with ones from # the standalone toolchain. TERMUX_DX=$ANDROID_HOME/build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/dx +TERMUX_JACK=$ANDROID_HOME/build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/jack.jar +TERMUX_JILL=$ANDROID_HOME/build-tools/$TERMUX_ANDROID_BUILD_TOOLS_VERSION/jill.jar # We put this after system PATH to avoid picking up toolchain stripped python export PATH=$PATH:$TERMUX_STANDALONE_TOOLCHAIN/bin diff --git a/packages/dx/build.sh b/packages/dx/build.sh index 411b7a2adf..a225d132c7 100755 --- a/packages/dx/build.sh +++ b/packages/dx/build.sh @@ -1,15 +1,22 @@ TERMUX_PKG_HOMEPAGE=http://developer.android.com/tools/help/index.html TERMUX_PKG_DESCRIPTION="Command which takes in class files and reformulates them for usage on Android" TERMUX_PKG_VERSION=$TERMUX_ANDROID_BUILD_TOOLS_VERSION -TERMUX_PKG_BUILD_REVISION=1 TERMUX_PKG_PLATFORM_INDEPENDENT=true termux_step_make_install () { + # As of build tools 24 the dx tool is implemented using java 8, but + # as dx itself does not support java 8 (class file format 52) + # we go the .class -> jill -> jack route. + local DX_JACK=$TERMUX_PKG_TMPDIR/dx.jack + java -jar $TERMUX_JILL \ + --output=$DX_JACK \ + $ANDROID_HOME/build-tools/${TERMUX_PKG_VERSION}/lib/dx.jar + java -jar $TERMUX_JACK \ + --output-dex $TERMUX_PKG_TMPDIR \ + --import $DX_JACK + mkdir -p $TERMUX_PREFIX/share/dex - $TERMUX_DX \ - --dex \ - --output=$TERMUX_PREFIX/share/dex/dx.jar \ - $ANDROID_HOME/build-tools/${TERMUX_PKG_VERSION}/lib/dx.jar + mv $TERMUX_PKG_TMPDIR/classes.dex $TERMUX_PREFIX/share/dex/dx.dex install $TERMUX_PKG_BUILDER_DIR/dx $TERMUX_PREFIX/bin/dx perl -p -i -e "s%\@TERMUX_PREFIX\@%${TERMUX_PREFIX}%g" $TERMUX_PREFIX/bin/dx diff --git a/packages/dx/dx b/packages/dx/dx index 242feb268b..15b809d880 100755 --- a/packages/dx/dx +++ b/packages/dx/dx @@ -2,5 +2,5 @@ exec dalvikvm \ -Xmx256m \ - -cp @TERMUX_PREFIX@/share/dex/dx.jar \ + -cp @TERMUX_PREFIX@/share/dex/dx.dex \ com.android.dx.command.Main $@ diff --git a/packages/jack/build.sh b/packages/jack/build.sh index b29a8df509..4dfb4cfbde 100755 --- a/packages/jack/build.sh +++ b/packages/jack/build.sh @@ -3,8 +3,7 @@ # perhaps because BatchProcessingEnvImpl uses javax.tools which does not exist on android? TERMUX_PKG_HOMEPAGE=http://tools.android.com/tech-docs/jackandjill TERMUX_PKG_DESCRIPTION="Java Android Compiler Kit" -TERMUX_PKG_VERSION="1.1-mr2" -TERMUX_PKG_BUILD_REVISION=4 +TERMUX_PKG_VERSION=$TERMUX_ANDROID_BUILD_TOOLS_VERSION TERMUX_PKG_PLATFORM_INDEPENDENT=true termux_step_make () { diff --git a/scripts/setup-android-sdk.sh b/scripts/setup-android-sdk.sh index ebb87a2cc3..e648cfcc70 100755 --- a/scripts/setup-android-sdk.sh +++ b/scripts/setup-android-sdk.sh @@ -38,4 +38,4 @@ if [ ! -d $NDK ]; then rm ndk.zip fi -echo y | $ANDROID_HOME/tools/android update sdk --no-ui --all --no-https -t "build-tools-23.0.3,android-23" +echo y | $ANDROID_HOME/tools/android update sdk --no-ui --all --no-https -t "build-tools-24.0.1,android-23"