diff options
author | Xavier Ducrohet <xav@android.com> | 2010-08-31 14:35:28 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-08-31 14:35:28 -0700 |
commit | d092f380021ca0520cc27b0272cd1a44d801d167 (patch) | |
tree | 3a27e164e233afcbd483830925b0f08c9ee5fa4f | |
parent | f06a44995142696e5867c50c39be64c03157f5d3 (diff) | |
parent | b4649ec720fa959b700a7a03c089bfdc61321d16 (diff) | |
download | frameworks_base-d092f380021ca0520cc27b0272cd1a44d801d167.zip frameworks_base-d092f380021ca0520cc27b0272cd1a44d801d167.tar.gz frameworks_base-d092f380021ca0520cc27b0272cd1a44d801d167.tar.bz2 |
am b4649ec7: am 23827557: Merge "Add a --debug-mode option to aapt." into gingerbread
Merge commit 'b4649ec720fa959b700a7a03c089bfdc61321d16'
* commit 'b4649ec720fa959b700a7a03c089bfdc61321d16':
Add a --debug-mode option to aapt.
-rw-r--r-- | tools/aapt/Bundle.h | 5 | ||||
-rw-r--r-- | tools/aapt/Main.cpp | 9 | ||||
-rw-r--r-- | tools/aapt/Resource.cpp | 7 |
3 files changed, 18 insertions, 3 deletions
diff --git a/tools/aapt/Bundle.h b/tools/aapt/Bundle.h index 6a1f2d5..a1bc241 100644 --- a/tools/aapt/Bundle.h +++ b/tools/aapt/Bundle.h @@ -45,7 +45,7 @@ public: mRClassDir(NULL), mResourceIntermediatesDir(NULL), mManifestMinSdkVersion(NULL), mMinSdkVersion(NULL), mTargetSdkVersion(NULL), mMaxSdkVersion(NULL), mVersionCode(NULL), mVersionName(NULL), mCustomPackage(NULL), - mMaxResVersion(NULL), + mMaxResVersion(NULL), mDebugMode(false), mArgc(0), mArgv(NULL) {} ~Bundle(void) {} @@ -137,6 +137,8 @@ public: void setCustomPackage(const char* val) { mCustomPackage = val; } const char* getMaxResVersion() const { return mMaxResVersion; } void setMaxResVersion(const char * val) { mMaxResVersion = val; } + bool getDebugMode() { return mDebugMode; } + void setDebugMode(bool val) { mDebugMode = val; } /* * Set and get the file specification. @@ -234,6 +236,7 @@ private: const char* mVersionName; const char* mCustomPackage; const char* mMaxResVersion; + bool mDebugMode; /* file specification */ int mArgc; diff --git a/tools/aapt/Main.cpp b/tools/aapt/Main.cpp index f457cc8..71c023d 100644 --- a/tools/aapt/Main.cpp +++ b/tools/aapt/Main.cpp @@ -57,7 +57,7 @@ void usage(void) fprintf(stderr, " %s p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \\\n" " [-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \\\n" - " [--min-sdk-version VAL] [--target-sdk-version VAL] \\\n" + " [--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \\\n" " [--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \\\n" " [--rename-manifest-package PACKAGE] \\\n" " [--rename-instrumentation-target-package PACKAGE] \\\n" @@ -124,6 +124,9 @@ void usage(void) " -0 specifies an additional extension for which such files will not\n" " be stored compressed in the .apk. An empty string means to not\n" " compress any files at all.\n" + " --debug-mode\n" + " inserts android:debuggable=\"true\" in to the application node of the\n" + " manifest, making the application debuggable even on production devices.\n" " --min-sdk-version\n" " inserts android:minSdkVersion in to manifest. If the version is 7 or\n" " higher, the default encoding for resources will be in UTF-8.\n" @@ -392,7 +395,9 @@ int main(int argc, char* const argv[]) } break; case '-': - if (strcmp(cp, "-min-sdk-version") == 0) { + if (strcmp(cp, "-debug-mode") == 0) { + bundle.setDebugMode(true); + } else if (strcmp(cp, "-min-sdk-version") == 0) { argc--; argv++; if (!argc) { diff --git a/tools/aapt/Resource.cpp b/tools/aapt/Resource.cpp index 498b193..01728a1 100644 --- a/tools/aapt/Resource.cpp +++ b/tools/aapt/Resource.cpp @@ -678,6 +678,13 @@ status_t massageManifest(Bundle* bundle, sp<XMLNode> root) bundle->getMaxSdkVersion()); } + if (bundle->getDebugMode()) { + sp<XMLNode> application = root->getChildElement(String16(), String16("application")); + if (application != NULL) { + addTagAttribute(application, RESOURCES_ANDROID_NAMESPACE, "debuggable", "true"); + } + } + // Deal with manifest package name overrides const char* manifestPackageNameOverride = bundle->getManifestPackageNameOverride(); if (manifestPackageNameOverride != NULL) { |