如何在没有解压缩的情况下从apk文件中删除目录?

时间:2017-10-31 07:49:52

标签: android apk aapt

出于某些商业目的,我需要从apk文件中删除某个目录。例如删除lib / mips64。

在任何文件操作之前,此过程不允许我解压缩apk(使用zip重新打包apk文件会使其损坏)。

我尝试了“aapt remove”命令,但它在目录上没有用,我没有找到任何其他可以完成这项工作的修饰符。

有什么想法吗?

后来我发现在删除所有内部文件后将删除该目录。有点聪明:)

1 个答案:

答案 0 :(得分:1)

您可以使用以下命令(其中“ META-INF”是此示例中的文件夹)从给定的APK中删除文件或文件夹:

zip -d your.apk "META-INF/*"

要确保删除文件/文件夹,可以运行以下命令:

unzip -l your.apk

它将在您的终端上显示一个这样的表。它不包含我删除的文件夹:

  Length      Date    Time    Name
---------  ---------- -----   ----
     2284  08-13-2018 17:49   AndroidManifest.xml
      916  08-13-2018 17:49   res/layout/activity_main.xml
     3418  08-13-2018 17:49   res/mipmap-hdpi-v4/ic_launcher.png
     4208  08-13-2018 17:49   res/mipmap-hdpi-v4/ic_launcher_round.png
     2206  08-13-2018 17:49   res/mipmap-mdpi-v4/ic_launcher.png
     2555  08-13-2018 17:49   res/mipmap-mdpi-v4/ic_launcher_round.png
     4842  08-13-2018 17:49   res/mipmap-xhdpi-v4/ic_launcher.png
     6114  08-13-2018 17:49   res/mipmap-xhdpi-v4/ic_launcher_round.png
     7718  08-13-2018 17:49   res/mipmap-xxhdpi-v4/ic_launcher.png
    10056  08-13-2018 17:49   res/mipmap-xxhdpi-v4/ic_launcher_round.png
    10486  08-13-2018 17:49   res/mipmap-xxxhdpi-v4/ic_launcher.png
    14696  08-13-2018 17:49   res/mipmap-xxxhdpi-v4/ic_launcher_round.png
     2552  08-13-2018 17:49   resources.arsc
     4716  08-13-2018 17:49   classes.dex
---------                     -------
    76767                     14 files