From 5a6e684f80eda699dd07a03f4f9be8bda3be035d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ryszard=20Wi=C5=9Bniewski?= Date: Thu, 1 Apr 2010 17:37:23 +0200 Subject: [PATCH] AndrolibResources.aaptPackage(): added possibility to package framework resources. --- src/brut/androlib/Androlib.java | 5 +++-- src/brut/androlib/res/AndrolibResources.java | 17 +++++++++-------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/brut/androlib/Androlib.java b/src/brut/androlib/Androlib.java index 70417984..9ff8a6a7 100644 --- a/src/brut/androlib/Androlib.java +++ b/src/brut/androlib/Androlib.java @@ -213,7 +213,8 @@ public class Androlib { mAndRes.aaptPackage( apkFile, new File(appDir, "AndroidManifest.xml"), - new File(appDir, "res"), ninePatch, null, false + new File(appDir, "res"), ninePatch, null, false, + false ); new ExtFile(apkFile).getDirectory() @@ -261,7 +262,7 @@ public class Androlib { assetDir = null; } mAndRes.aaptPackage(outApk, null, null, - new File(appDir, APK_DIRNAME), assetDir, false); + new File(appDir, APK_DIRNAME), assetDir, false, false); } private boolean isModified(File working, File stored) { diff --git a/src/brut/androlib/res/AndrolibResources.java b/src/brut/androlib/res/AndrolibResources.java index 998094f2..4e03437e 100644 --- a/src/brut/androlib/res/AndrolibResources.java +++ b/src/brut/androlib/res/AndrolibResources.java @@ -80,13 +80,8 @@ final public class AndrolibResources { } } - public void aaptPackage(File apkFile, File manifest, File resDir) - throws AndrolibException { - aaptPackage(apkFile, manifest, resDir, null, null, false); - } - public void aaptPackage(File apkFile, File manifest, File resDir, - File rawDir, File assetDir, boolean update) + File rawDir, File assetDir, boolean update, boolean framework) throws AndrolibException { String[] cmd = new String[13]; int i = 0; @@ -97,8 +92,14 @@ final public class AndrolibResources { } cmd[i++] = "-F"; cmd[i++] = apkFile.getAbsolutePath(); - cmd[i++] = "-I"; - cmd[i++] = getAndroidResourcesFile().getAbsolutePath(); + + if (framework) { + cmd[i++] = "-x"; + } else { + cmd[i++] = "-I"; + cmd[i++] = getAndroidResourcesFile().getAbsolutePath(); + } + if (manifest != null) { cmd[i++] = "-M"; cmd[i++] = manifest.getAbsolutePath();