From ce89f1531ed8b96b8b790b3f8b18dd4cf483f7f0 Mon Sep 17 00:00:00 2001 From: Josiah Gaskin Date: Wed, 8 Jun 2011 19:31:40 -0700 Subject: Copy once-created R.java into library projects This change adds functionality in Aapt to allow specification of library projects to copy the generated R.java file into rather than regenerating the file for each library project. Change-Id: I05939d1dc875bd875be9298ca47cb639235070c6 --- tools/aapt/Command.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'tools/aapt/Command.cpp') diff --git a/tools/aapt/Command.cpp b/tools/aapt/Command.cpp index 739763edca34..c7dfb8fdf362 100644 --- a/tools/aapt/Command.cpp +++ b/tools/aapt/Command.cpp @@ -1414,6 +1414,17 @@ int doPackage(Bundle* bundle) if (assets->getPackage() == assets->getSymbolsPrivatePackage()) { if (bundle->getCustomPackage() == NULL) { err = writeResourceSymbols(bundle, assets, assets->getPackage(), true); + // Copy R.java for libraries + if (bundle->getExtraPackages() != NULL) { + // Split on semicolon + String8 libs(bundle->getExtraPackages()); + char* packageString = strtok(libs.lockBuffer(libs.length()), ";"); + while (packageString != NULL) { + err = writeResourceSymbols(bundle, assets, String8(packageString), true); + packageString = strtok(NULL, ";"); + } + libs.unlockBuffer(); + } } else { const String8 customPkg(bundle->getCustomPackage()); err = writeResourceSymbols(bundle, assets, customPkg, true); -- cgit v1.2.3-59-g8ed1b