Loading tools/aapt/Bundle.h +7 −4 Original line number Diff line number Diff line Loading @@ -59,10 +59,10 @@ public: mAndroidManifestFile(NULL), mPublicOutputFile(NULL), mRClassDir(NULL), mResourceIntermediatesDir(NULL), mManifestMinSdkVersion(NULL), mMinSdkVersion(NULL), mTargetSdkVersion(NULL), mMaxSdkVersion(NULL), mVersionCode(NULL), mVersionName(NULL), mCustomPackage(NULL), mExtraPackages(NULL), mMaxResVersion(NULL), mDebugMode(false), mNonConstantId(false), mProduct(NULL), mUseCrunchCache(false), mErrorOnFailedInsert(false), mErrorOnMissingConfigEntry(false), mOutputTextSymbols(NULL), mVersionCode(NULL), mVersionName(NULL), mReplaceVersion(false), mCustomPackage(NULL), mExtraPackages(NULL), mMaxResVersion(NULL), mDebugMode(false), mNonConstantId(false), mProduct(NULL), mUseCrunchCache(false), mErrorOnFailedInsert(false), mErrorOnMissingConfigEntry(false), mOutputTextSymbols(NULL), mSingleCrunchInputFile(NULL), mSingleCrunchOutputFile(NULL), mArgc(0), mArgv(NULL) {} Loading Loading @@ -166,6 +166,8 @@ public: void setVersionCode(const char* val) { mVersionCode = val; } const char* getVersionName() const { return mVersionName; } void setVersionName(const char* val) { mVersionName = val; } bool getReplaceVersion() { return mReplaceVersion; } void setReplaceVersion(bool val) { mReplaceVersion = val; } const char* getCustomPackage() const { return mCustomPackage; } void setCustomPackage(const char* val) { mCustomPackage = val; } const char* getExtraPackages() const { return mExtraPackages; } Loading Loading @@ -285,6 +287,7 @@ private: const char* mMaxSdkVersion; const char* mVersionCode; const char* mVersionName; bool mReplaceVersion; const char* mCustomPackage; const char* mExtraPackages; const char* mMaxResVersion; Loading tools/aapt/Main.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,11 @@ void usage(void) " inserts android:versionCode in to manifest.\n" " --version-name\n" " inserts android:versionName in to manifest.\n" " --replace-version\n" " If --version-code and/or --version-name are specified, these\n" " values will replace any value already in the manifest. By\n" " default, nothing is changed if the manifest already defines\n" " these attributes.\n" " --custom-package\n" " generates R.java into a different package.\n" " --extra-packages\n" Loading Loading @@ -532,6 +537,8 @@ int main(int argc, char* const argv[]) goto bail; } bundle.setVersionName(argv[0]); } else if (strcmp(cp, "-replace-version") == 0) { bundle.setReplaceVersion(true); } else if (strcmp(cp, "-values") == 0) { bundle.setValues(true); } else if (strcmp(cp, "-include-meta-data") == 0) { Loading tools/aapt/Resource.cpp +31 −7 Original line number Diff line number Diff line Loading @@ -676,13 +676,15 @@ static bool applyFileOverlay(Bundle *bundle, } /* * Inserts an attribute in a given node, only if the attribute does not * exist. * Inserts an attribute in a given node. * If errorOnFailedInsert is true, and the attribute already exists, returns false. * Returns true otherwise, even if the attribute already exists. * If replaceExisting is true, the attribute will be updated if it already exists. * Returns true otherwise, even if the attribute already exists, and does not modify * the existing attribute's value. */ bool addTagAttribute(const sp<XMLNode>& node, const char* ns8, const char* attr8, const char* value, bool errorOnFailedInsert) const char* attr8, const char* value, bool errorOnFailedInsert, bool replaceExisting) { if (value == NULL) { return true; Loading @@ -691,7 +693,16 @@ bool addTagAttribute(const sp<XMLNode>& node, const char* ns8, const String16 ns(ns8); const String16 attr(attr8); if (node->getAttribute(ns, attr) != NULL) { XMLNode::attribute_entry* existingEntry = node->editAttribute(ns, attr); if (existingEntry != NULL) { if (replaceExisting) { NOISY(printf("Info: AndroidManifest.xml already defines %s (in %s);" " overwriting existing value from manifest.\n", String8(attr).string(), String8(ns).string())); existingEntry->string = String16(value); return true; } if (errorOnFailedInsert) { fprintf(stderr, "Error: AndroidManifest.xml already defines %s (in %s);" " cannot insert new value %s.\n", Loading @@ -711,6 +722,18 @@ bool addTagAttribute(const sp<XMLNode>& node, const char* ns8, return true; } /* * Inserts an attribute in a given node, only if the attribute does not * exist. * If errorOnFailedInsert is true, and the attribute already exists, returns false. * Returns true otherwise, even if the attribute already exists. */ bool addTagAttribute(const sp<XMLNode>& node, const char* ns8, const char* attr8, const char* value, bool errorOnFailedInsert) { return addTagAttribute(node, ns8, attr8, value, errorOnFailedInsert, false); } static void fullyQualifyClassName(const String8& package, sp<XMLNode> node, const String16& attrName) { XMLNode::attribute_entry* attr = node->editAttribute( Loading Loading @@ -748,13 +771,14 @@ status_t massageManifest(Bundle* bundle, sp<XMLNode> root) } bool errorOnFailedInsert = bundle->getErrorOnFailedInsert(); bool replaceVersion = bundle->getReplaceVersion(); if (!addTagAttribute(root, RESOURCES_ANDROID_NAMESPACE, "versionCode", bundle->getVersionCode(), errorOnFailedInsert)) { bundle->getVersionCode(), errorOnFailedInsert, replaceVersion)) { return UNKNOWN_ERROR; } if (!addTagAttribute(root, RESOURCES_ANDROID_NAMESPACE, "versionName", bundle->getVersionName(), errorOnFailedInsert)) { bundle->getVersionName(), errorOnFailedInsert, replaceVersion)) { return UNKNOWN_ERROR; } Loading Loading
tools/aapt/Bundle.h +7 −4 Original line number Diff line number Diff line Loading @@ -59,10 +59,10 @@ public: mAndroidManifestFile(NULL), mPublicOutputFile(NULL), mRClassDir(NULL), mResourceIntermediatesDir(NULL), mManifestMinSdkVersion(NULL), mMinSdkVersion(NULL), mTargetSdkVersion(NULL), mMaxSdkVersion(NULL), mVersionCode(NULL), mVersionName(NULL), mCustomPackage(NULL), mExtraPackages(NULL), mMaxResVersion(NULL), mDebugMode(false), mNonConstantId(false), mProduct(NULL), mUseCrunchCache(false), mErrorOnFailedInsert(false), mErrorOnMissingConfigEntry(false), mOutputTextSymbols(NULL), mVersionCode(NULL), mVersionName(NULL), mReplaceVersion(false), mCustomPackage(NULL), mExtraPackages(NULL), mMaxResVersion(NULL), mDebugMode(false), mNonConstantId(false), mProduct(NULL), mUseCrunchCache(false), mErrorOnFailedInsert(false), mErrorOnMissingConfigEntry(false), mOutputTextSymbols(NULL), mSingleCrunchInputFile(NULL), mSingleCrunchOutputFile(NULL), mArgc(0), mArgv(NULL) {} Loading Loading @@ -166,6 +166,8 @@ public: void setVersionCode(const char* val) { mVersionCode = val; } const char* getVersionName() const { return mVersionName; } void setVersionName(const char* val) { mVersionName = val; } bool getReplaceVersion() { return mReplaceVersion; } void setReplaceVersion(bool val) { mReplaceVersion = val; } const char* getCustomPackage() const { return mCustomPackage; } void setCustomPackage(const char* val) { mCustomPackage = val; } const char* getExtraPackages() const { return mExtraPackages; } Loading Loading @@ -285,6 +287,7 @@ private: const char* mMaxSdkVersion; const char* mVersionCode; const char* mVersionName; bool mReplaceVersion; const char* mCustomPackage; const char* mExtraPackages; const char* mMaxResVersion; Loading
tools/aapt/Main.cpp +7 −0 Original line number Diff line number Diff line Loading @@ -153,6 +153,11 @@ void usage(void) " inserts android:versionCode in to manifest.\n" " --version-name\n" " inserts android:versionName in to manifest.\n" " --replace-version\n" " If --version-code and/or --version-name are specified, these\n" " values will replace any value already in the manifest. By\n" " default, nothing is changed if the manifest already defines\n" " these attributes.\n" " --custom-package\n" " generates R.java into a different package.\n" " --extra-packages\n" Loading Loading @@ -532,6 +537,8 @@ int main(int argc, char* const argv[]) goto bail; } bundle.setVersionName(argv[0]); } else if (strcmp(cp, "-replace-version") == 0) { bundle.setReplaceVersion(true); } else if (strcmp(cp, "-values") == 0) { bundle.setValues(true); } else if (strcmp(cp, "-include-meta-data") == 0) { Loading
tools/aapt/Resource.cpp +31 −7 Original line number Diff line number Diff line Loading @@ -676,13 +676,15 @@ static bool applyFileOverlay(Bundle *bundle, } /* * Inserts an attribute in a given node, only if the attribute does not * exist. * Inserts an attribute in a given node. * If errorOnFailedInsert is true, and the attribute already exists, returns false. * Returns true otherwise, even if the attribute already exists. * If replaceExisting is true, the attribute will be updated if it already exists. * Returns true otherwise, even if the attribute already exists, and does not modify * the existing attribute's value. */ bool addTagAttribute(const sp<XMLNode>& node, const char* ns8, const char* attr8, const char* value, bool errorOnFailedInsert) const char* attr8, const char* value, bool errorOnFailedInsert, bool replaceExisting) { if (value == NULL) { return true; Loading @@ -691,7 +693,16 @@ bool addTagAttribute(const sp<XMLNode>& node, const char* ns8, const String16 ns(ns8); const String16 attr(attr8); if (node->getAttribute(ns, attr) != NULL) { XMLNode::attribute_entry* existingEntry = node->editAttribute(ns, attr); if (existingEntry != NULL) { if (replaceExisting) { NOISY(printf("Info: AndroidManifest.xml already defines %s (in %s);" " overwriting existing value from manifest.\n", String8(attr).string(), String8(ns).string())); existingEntry->string = String16(value); return true; } if (errorOnFailedInsert) { fprintf(stderr, "Error: AndroidManifest.xml already defines %s (in %s);" " cannot insert new value %s.\n", Loading @@ -711,6 +722,18 @@ bool addTagAttribute(const sp<XMLNode>& node, const char* ns8, return true; } /* * Inserts an attribute in a given node, only if the attribute does not * exist. * If errorOnFailedInsert is true, and the attribute already exists, returns false. * Returns true otherwise, even if the attribute already exists. */ bool addTagAttribute(const sp<XMLNode>& node, const char* ns8, const char* attr8, const char* value, bool errorOnFailedInsert) { return addTagAttribute(node, ns8, attr8, value, errorOnFailedInsert, false); } static void fullyQualifyClassName(const String8& package, sp<XMLNode> node, const String16& attrName) { XMLNode::attribute_entry* attr = node->editAttribute( Loading Loading @@ -748,13 +771,14 @@ status_t massageManifest(Bundle* bundle, sp<XMLNode> root) } bool errorOnFailedInsert = bundle->getErrorOnFailedInsert(); bool replaceVersion = bundle->getReplaceVersion(); if (!addTagAttribute(root, RESOURCES_ANDROID_NAMESPACE, "versionCode", bundle->getVersionCode(), errorOnFailedInsert)) { bundle->getVersionCode(), errorOnFailedInsert, replaceVersion)) { return UNKNOWN_ERROR; } if (!addTagAttribute(root, RESOURCES_ANDROID_NAMESPACE, "versionName", bundle->getVersionName(), errorOnFailedInsert)) { bundle->getVersionName(), errorOnFailedInsert, replaceVersion)) { return UNKNOWN_ERROR; } Loading