diff --git a/src/main/java/com/reandroid/apkeditor/common/AndroidManifestHelper.java b/src/main/java/com/reandroid/apkeditor/common/AndroidManifestHelper.java index ac550753..fb265d51 100644 --- a/src/main/java/com/reandroid/apkeditor/common/AndroidManifestHelper.java +++ b/src/main/java/com/reandroid/apkeditor/common/AndroidManifestHelper.java @@ -52,6 +52,21 @@ public static List listSplitRequired(ResXmlElement parentElement) })); } + public static void removeAttributeFromManifestByName(AndroidManifestBlock androidManifestBlock, + String resourceName, APKLogger logger){ + ResXmlElement manifestElement = androidManifestBlock.getManifestElement(); + if(manifestElement == null){ + if(logger != null){ + logger.logMessage("WARN: AndroidManifest don't have "); + } + return; + } + int removed = manifestElement.removeAttributesWithName(resourceName); + if (removed > 0 && logger != null) { + logger.logMessage("Removed-attribute : " + resourceName); + } + } + public static void removeAttributeFromManifestAndApplication(AndroidManifestBlock androidManifestBlock, int resourceId, APKLogger logger, String nameForLogging){ if(resourceId == 0){ diff --git a/src/main/java/com/reandroid/apkeditor/merge/Merger.java b/src/main/java/com/reandroid/apkeditor/merge/Merger.java index f242fcda..8951402d 100644 --- a/src/main/java/com/reandroid/apkeditor/merge/Merger.java +++ b/src/main/java/com/reandroid/apkeditor/merge/Merger.java @@ -136,6 +136,10 @@ private void sanitizeManifest(ApkModule apkModule) { } AndroidManifestBlock manifest = apkModule.getAndroidManifest(); logMessage("Sanitizing manifest ..."); + AndroidManifestHelper.removeAttributeFromManifestByName(manifest, + AndroidManifest.NAME_requiredSplitTypes, this); + AndroidManifestHelper.removeAttributeFromManifestByName(manifest, + AndroidManifest.NAME_splitTypes, this); AndroidManifestHelper.removeAttributeFromManifestAndApplication(manifest, AndroidManifest.ID_extractNativeLibs, this, AndroidManifest.NAME_extractNativeLibs);