Loading tools/aapt/ApkBuilder.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -85,11 +85,24 @@ ApkSplit::ApkSplit(const std::set<ConfigDescription>& configs, const sp<Resource if (mName.size() > 0) { mName.append(","); mDirName.append("_"); mPackageSafeName.append("."); } String8 configStr = iter->toString(); String8 packageConfigStr(configStr); size_t len = packageConfigStr.length(); if (len > 0) { char* buf = packageConfigStr.lockBuffer(len); for (char* end = buf + len; buf < end; ++buf) { if (*buf == '-') { *buf = '_'; } } packageConfigStr.unlockBuffer(len); } mName.append(configStr); mDirName.append(configStr); mPackageSafeName.append(packageConfigStr); } } Loading tools/aapt/ApkBuilder.h +5 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,10 @@ public: return mDirName; } const android::String8& getPackageSafeName() const { return mPackageSafeName; } bool isBase() const { return mIsBase; } Loading @@ -111,6 +115,7 @@ private: const bool mIsBase; String8 mName; String8 mDirName; String8 mPackageSafeName; std::set<OutputEntry> mFiles; }; Loading tools/aapt/Resource.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -937,8 +937,8 @@ status_t generateAndroidManifestForSplit(Bundle* bundle, const sp<AaptAssets>& a } // Add the 'split' attribute which describes the configurations included. String8 splitName("config_"); splitName.append(split->getDirectorySafeName()); String8 splitName("config."); splitName.append(split->getPackageSafeName()); manifest->addAttribute(String16(), String16("split"), String16(splitName)); // Build an empty <application> tag (required). Loading Loading
tools/aapt/ApkBuilder.cpp +13 −0 Original line number Diff line number Diff line Loading @@ -85,11 +85,24 @@ ApkSplit::ApkSplit(const std::set<ConfigDescription>& configs, const sp<Resource if (mName.size() > 0) { mName.append(","); mDirName.append("_"); mPackageSafeName.append("."); } String8 configStr = iter->toString(); String8 packageConfigStr(configStr); size_t len = packageConfigStr.length(); if (len > 0) { char* buf = packageConfigStr.lockBuffer(len); for (char* end = buf + len; buf < end; ++buf) { if (*buf == '-') { *buf = '_'; } } packageConfigStr.unlockBuffer(len); } mName.append(configStr); mDirName.append(configStr); mPackageSafeName.append(packageConfigStr); } } Loading
tools/aapt/ApkBuilder.h +5 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,10 @@ public: return mDirName; } const android::String8& getPackageSafeName() const { return mPackageSafeName; } bool isBase() const { return mIsBase; } Loading @@ -111,6 +115,7 @@ private: const bool mIsBase; String8 mName; String8 mDirName; String8 mPackageSafeName; std::set<OutputEntry> mFiles; }; Loading
tools/aapt/Resource.cpp +2 −2 Original line number Diff line number Diff line Loading @@ -937,8 +937,8 @@ status_t generateAndroidManifestForSplit(Bundle* bundle, const sp<AaptAssets>& a } // Add the 'split' attribute which describes the configurations included. String8 splitName("config_"); splitName.append(split->getDirectorySafeName()); String8 splitName("config."); splitName.append(split->getPackageSafeName()); manifest->addAttribute(String16(), String16("split"), String16(splitName)); // Build an empty <application> tag (required). Loading