在进行小文本编辑后可以重新打包APK吗?

Aym*_*man 9 air mobile android apk

我正在创建一个软件,它将引导用户完成几个步骤,发布一个Android应用程序(APK文件).

我这样做的方式是已经编译了APK文件,我需要做的就是替换包中的XML文件,这将改变应用程序的行为.我现在面临的一个大问题是,解压缩apk文件,进行任何微小的文本编辑,然后重新打包,打破签名并阻止应用程序在任何设备上运行,并发出签名不正确的消息.

我怎么解决这个问题?我想安全地打开APK,在文本文件中写入内容,然后再次关闭它.请注意,此操作将在用户的计算机上完成(在他购买我们的应用程序之后),因此我们正在寻找一个没有JDK等特殊要求的命令行工具.

有帮助吗?

Aym*_*man 12

好吧,我达到了最好的"测试"解决方案 - 我在这里发布它以节省其他开发人员的谷歌搜索时间.唯一的缺点是我将要求客户在他的机器上安装JDK,不幸的是.原因是因为我没有找到任何纯粹在Windows上运行的apk签名工具,而不依赖于JDK.

我使用Air创建了我的android应用程序,所以这对我来说很容易 - 所有的空气文件都被视为资源资产.所以准备好你的APK档案文件.

准备好修改后,将它们放在名为"assets"的临时文件夹中.您将使用7-zip命令行工具(免费:http://sourceforge.net/projects/sevenzip/)来更新apk的内容.要让它与你的apk一起工作,你必须将你的apk扩展名重命名为zip - 别担心,你以后会改回来.

现在从一个.bat文件(或直接在命令提示符下)从包含你的apk文件(zip扩展名)和你的资产文件夹的位置,你将调用:7za u APK-file.zip assets

现在你的apk文件已更新.将其重命名为.apk扩展名

现在,您将使用https://code.google.com/p/signapk/上的signAPK工具,注意这是安装JDK的唯一步骤.它还假设您已准备好您的密钥文件(替换包中包含的虚拟文件).提取文件内容并调用:java -jar signapk.jar key.x509.pem key.pk8 [android_app] .apk [signed_android_app] .apk

在最后,您可能会发现您签名的apk文件大小剧烈增加.所以你需要使用android的zipAlign工具:( darn,不能发布链接,因为新用户最多只能发布两个超链接)你将调用命令:zipAlign -c 4 [signed_android_app] .apk

瞧!这是我正在采取的路线.

如果有人在不依赖JDK的情况下找到办法进行签名过程(假设密钥文件已准备就绪),请分享.


Com*_*are 2

我该如何解决这个问题?

你不知道。如果您以任何方式修改 APK 文件,则必须对其进行重新签名。