From 0673c1e2dcbcaf37e1f5089b67234edd55f08c87 Mon Sep 17 00:00:00 2001 From: Connor Tumbleson Date: Thu, 17 Jan 2013 10:01:19 -0600 Subject: [PATCH] Fixes issue #395 - checks for aapt during build --- CHANGES | 1 + .../java/brut/androlib/BuildAndDecodeTest.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/CHANGES b/CHANGES index 20f0e1da..3f165e7e 100644 --- a/CHANGES +++ b/CHANGES @@ -6,6 +6,7 @@ v1.5.2 (TBA) -Moved build.gradle files to each sub-project, more organization :) -Fixed (issue #394) - Prevented duplicated files in final jar which saved around 1.2mb. -Added Proguard to drop final jar size from 6.2mb to 2.6mb. +-Fixed (issue #395) - Added check for "aapt" in unit-tests. v1.5.1 PR3 (Released December 23 - 2012) Codename: Pre Release 3 -Reverted "Prevents removal of on decompile, but then throws warning on rebuild (issue #366)" diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java index efa384b6..df475f4f 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/BuildAndDecodeTest.java @@ -115,6 +115,11 @@ public class BuildAndDecodeTest { public void xmlReferencesTest() throws BrutException { compareXmlFiles("res/xml/references.xml"); } + + @Test + public void aaptPresent() throws BrutException { + checkIfAaptPresent(); + } @Test public void qualifiersTest() throws BrutException { @@ -122,6 +127,19 @@ public class BuildAndDecodeTest { "-xlarge-long-land-desk-night-xhdpi-finger-keyssoft-12key" + "-navhidden-dpad/strings.xml"); } + + private void checkIfAaptPresent() throws BrutException { + try + { + Process proc = Runtime.getRuntime().exec("aapt"); + BufferedReader br = new BufferedReader(new InputStreamReader(proc.getErrorStream())); + String line = null; + while ( (line = br.readLine()) != null){} + } catch (Exception ex){ + System.out.println("Please install 'aapt' to your path. See project website for more information."); + throw new BrutException(ex); + } + } private void compareValuesFiles(String path) throws BrutException { compareXmlFiles("res/" + path,