Java 如何以编程方式从mobile解压.apk文件?以及如何将文件插入其中?
我在assets文件夹中有一个.apk文件。我想解压该.apk文件并在其中插入一个文件,然后从mobile生成一个.apk文件。我怎样才能做到呢?给出任何建议。APK文件是ZIP文件,因此下面的课程应该能很好地为您服务。请注意,从ZIP文件中删除文件并不是那么简单-因此,如果没有要修改的文件和单独的文件,则使用APK文件会更容易。 将修改后的文件添加到APK要简单得多Java 如何以编程方式从mobile解压.apk文件?以及如何将文件插入其中?,java,android,Java,Android,我在assets文件夹中有一个.apk文件。我想解压该.apk文件并在其中插入一个文件,然后从mobile生成一个.apk文件。我怎样才能做到呢?给出任何建议。APK文件是ZIP文件,因此下面的课程应该能很好地为您服务。请注意,从ZIP文件中删除文件并不是那么简单-因此,如果没有要修改的文件和单独的文件,则使用APK文件会更容易。 将修改后的文件添加到APK要简单得多 此外,您还必须考虑到安卓文件不能在安卓上安装,因为它的签名无效。因此,您必须重新签名。不幸的是,JAR/APK文件的签名工具只包
此外,您还必须考虑到安卓文件不能在安卓上安装,因为它的签名无效。因此,您必须重新签名。不幸的是,JAR/APK文件的签名工具只包含在Java SDK中,它是一个用于x86的本机程序,无法在Android/ARM上执行。
APK文件是ZIP文件,因此下面的类应该可以很好地为您服务。请注意,从ZIP文件中删除文件并不是那么简单-因此,如果没有要修改的文件和单独的文件,则使用APK文件会更容易。 将修改后的文件添加到APK要简单得多此外,您还必须考虑到安卓文件不能在安卓上安装,因为它的签名无效。因此,您必须重新签名。不幸的是,JAR/APK文件签名工具仅包含在Java SDK中,它是一个用于x86的本机程序,无法在Android/ARM上执行。
您可以这样做。首先,你必须:你可以这样做。首先,你必须:
无法解压缩apk文件。如果可能的话,你必须对它进行反编译。你到底想做什么?是否要从资产文件夹安装apk?@Oli:可以!解压apk文件,因为压缩算法是基于zip的。@Reporter哦,好的,谢谢;)-获取其数据库的资产usefull@user2380107你能给我们一些背景信息吗?你不能解压apk文件。如果可能的话,你必须对它进行反编译。你到底想做什么?是否要从资产文件夹安装apk?@Oli:可以!解压apk文件,因为压缩算法是基于zip的。@Reporter哦,好的,谢谢;)-获取其数据库的资产usefull@user2380107你能给我们一些背景信息吗?我还没有测试过这个,但是你可能需要将扩展名重命名为.zip。但是ZipFile可以工作。不,程序和代码不关心扩展。只有在Windows上双击文件时,扩展名才起作用。啊,好的。我知道代码不在乎,但我不确定如果文件不是可识别的扩展名(zip、tar等),zip API是否会抛出一些东西@Robert:那么是否有可能从mobile创建一个修改后的.apk(可以安装在mpbile上)并将其存储在外部sd卡中?@Robert:如何重新签署修改后的.apk文件?我还没有测试过这一点,但是您可能需要将扩展名重命名为.zip。但是ZipFile可以工作。不,程序和代码不关心扩展。只有在Windows上双击文件时,扩展名才起作用。啊,好的。我知道代码不在乎,但我不确定如果文件不是可识别的扩展名(zip、tar等),zip API是否会抛出一些东西@Robert:那么是否可以从mobile创建一个修改后的.apk(可以安装在mpbile上)并将其存储在外部sd卡中?@Robert:如何重新签署修改后的.apk文件?