Loading tools/aapt2/Main.cpp +24 −2 Original line number Diff line number Diff line Loading @@ -323,9 +323,17 @@ struct AaptOptions { Compile, }; enum class PackageType { StandardApp, StaticLibrary, }; // The phase to process. Phase phase; // The type of package to produce. PackageType packageType = PackageType::StandardApp; // Details about the app. AppInfo appInfo; Loading Loading @@ -800,7 +808,11 @@ bool link(const AaptOptions& options, const std::shared_ptr<ResourceTable>& outT // Generate the Java class file. if (options.generateJavaClass) { JavaClassGenerator generator(outTable, {}); JavaClassGenerator::Options javaOptions; if (options.packageType == AaptOptions::PackageType::StaticLibrary) { javaOptions.useFinal = false; } JavaClassGenerator generator(outTable, javaOptions); for (const std::u16string& package : linkedPackages) { Source outPath = options.generateJavaClass.value(); Loading Loading @@ -852,7 +864,10 @@ bool link(const AaptOptions& options, const std::shared_ptr<ResourceTable>& outT // Flatten the resource table. TableFlattener::Options flattenerOptions; flattenerOptions.useExtendedChunks = false; if (options.packageType == AaptOptions::PackageType::StaticLibrary) { flattenerOptions.useExtendedChunks = true; } if (!writeResourceTable(options, outTable, flattenerOptions, &outApk)) { return false; } Loading Loading @@ -999,6 +1014,7 @@ static AaptOptions prepareArgs(int argc, char** argv) { printCommandsAndDie(); } bool isStaticLib = false; if (options.phase == AaptOptions::Phase::Compile) { flag::requiredFlag("--package", "Android package name", [&options](const StringPiece& arg) { Loading Loading @@ -1026,6 +1042,8 @@ static AaptOptions prepareArgs(int argc, char** argv) { [&options](const StringPiece& arg) { options.generateJavaClass = Source{ arg.toString() }; }); flag::optionalSwitch("--static-lib", "generate a static Android library", true, &isStaticLib); } // Common flags for all steps. Loading @@ -1049,6 +1067,10 @@ static AaptOptions prepareArgs(int argc, char** argv) { flag::usageAndDie(fullCommand); } if (isStaticLib) { options.packageType = AaptOptions::PackageType::StaticLibrary; } // Copy all the remaining arguments. for (const std::string& arg : flag::getArgs()) { options.input.push_back(Source{ arg }); Loading tools/aapt2/data/lib/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ $(foreach d,$(PRIVATE_RESOURCE_TYPES),$(eval $(call make-collect-rule,$d))) # Link: out/package-unaligned.apk <- out/values-v4.apk out/drawable-v4.apk $(PRIVATE_APK_UNALIGNED): $(PRIVATE_INTERMEDIATE_TABLES) $(PRIVATE_LIBS) AndroidManifest.xml $(AAPT) link --manifest AndroidManifest.xml $(addprefix -I ,$(PRIVATE_LIBS)) --java $(LOCAL_GEN) -o $@ $(PRIVATE_INTERMEDIATE_TABLES) $(AAPT) link --manifest AndroidManifest.xml $(addprefix -I ,$(PRIVATE_LIBS)) --java $(LOCAL_GEN) -o $@ $(PRIVATE_INTERMEDIATE_TABLES) --static-lib # R.java: gen/com/android/app/R.java <- out/resources.arsc # No action since R.java is generated when out/resources.arsc is. Loading Loading
tools/aapt2/Main.cpp +24 −2 Original line number Diff line number Diff line Loading @@ -323,9 +323,17 @@ struct AaptOptions { Compile, }; enum class PackageType { StandardApp, StaticLibrary, }; // The phase to process. Phase phase; // The type of package to produce. PackageType packageType = PackageType::StandardApp; // Details about the app. AppInfo appInfo; Loading Loading @@ -800,7 +808,11 @@ bool link(const AaptOptions& options, const std::shared_ptr<ResourceTable>& outT // Generate the Java class file. if (options.generateJavaClass) { JavaClassGenerator generator(outTable, {}); JavaClassGenerator::Options javaOptions; if (options.packageType == AaptOptions::PackageType::StaticLibrary) { javaOptions.useFinal = false; } JavaClassGenerator generator(outTable, javaOptions); for (const std::u16string& package : linkedPackages) { Source outPath = options.generateJavaClass.value(); Loading Loading @@ -852,7 +864,10 @@ bool link(const AaptOptions& options, const std::shared_ptr<ResourceTable>& outT // Flatten the resource table. TableFlattener::Options flattenerOptions; flattenerOptions.useExtendedChunks = false; if (options.packageType == AaptOptions::PackageType::StaticLibrary) { flattenerOptions.useExtendedChunks = true; } if (!writeResourceTable(options, outTable, flattenerOptions, &outApk)) { return false; } Loading Loading @@ -999,6 +1014,7 @@ static AaptOptions prepareArgs(int argc, char** argv) { printCommandsAndDie(); } bool isStaticLib = false; if (options.phase == AaptOptions::Phase::Compile) { flag::requiredFlag("--package", "Android package name", [&options](const StringPiece& arg) { Loading Loading @@ -1026,6 +1042,8 @@ static AaptOptions prepareArgs(int argc, char** argv) { [&options](const StringPiece& arg) { options.generateJavaClass = Source{ arg.toString() }; }); flag::optionalSwitch("--static-lib", "generate a static Android library", true, &isStaticLib); } // Common flags for all steps. Loading @@ -1049,6 +1067,10 @@ static AaptOptions prepareArgs(int argc, char** argv) { flag::usageAndDie(fullCommand); } if (isStaticLib) { options.packageType = AaptOptions::PackageType::StaticLibrary; } // Copy all the remaining arguments. for (const std::string& arg : flag::getArgs()) { options.input.push_back(Source{ arg }); Loading
tools/aapt2/data/lib/Makefile +1 −1 Original line number Diff line number Diff line Loading @@ -56,7 +56,7 @@ $(foreach d,$(PRIVATE_RESOURCE_TYPES),$(eval $(call make-collect-rule,$d))) # Link: out/package-unaligned.apk <- out/values-v4.apk out/drawable-v4.apk $(PRIVATE_APK_UNALIGNED): $(PRIVATE_INTERMEDIATE_TABLES) $(PRIVATE_LIBS) AndroidManifest.xml $(AAPT) link --manifest AndroidManifest.xml $(addprefix -I ,$(PRIVATE_LIBS)) --java $(LOCAL_GEN) -o $@ $(PRIVATE_INTERMEDIATE_TABLES) $(AAPT) link --manifest AndroidManifest.xml $(addprefix -I ,$(PRIVATE_LIBS)) --java $(LOCAL_GEN) -o $@ $(PRIVATE_INTERMEDIATE_TABLES) --static-lib # R.java: gen/com/android/app/R.java <- out/resources.arsc # No action since R.java is generated when out/resources.arsc is. Loading