我正在尝试更改 Android 文件的显示名称(安装应用程序后屏幕上显示的名称)。我只有apk文件*。
当我解压缩 apk 文件时,它被部分二值化。我知道要更改显示名称,我必须更改AndroidManifest.xml文件,但该文件部分是二进制文件。
如果我解压缩应用程序,更改某些内容(或什么都不更改!),将其压缩,签名并对齐,该应用程序将不再工作。它没有安装,但在尝试时崩溃,声称Parse Error - There was a problem while parsing the package.
如果我使用ApkTool解压缩应用程序,更改某些内容(或不更改)并使用 重新压缩它apktool b apkFolder -o changedApk.apk,然后对其进行签名和 zipalign,应用程序确实安装,我的更改似乎存在,但应用程序在打开时崩溃。堆栈跟踪似乎表明以下是问题所在:
F/monodroid(12679): No assemblies found in '(null)' or '/storage/emulated/0/Android/data/Geocortex.App/files/.__override__'. Assuming this is part of Fast Deployment. Exiting...
Run Code Online (Sandbox Code Playgroud)
如果我使用apktool b apkFolder(从而将更改放在原始 apk 文件中)、签名和 zipalign 重新压缩应用程序,应用程序将安装并运行,但我的任何更改都不存在。apk 上的最后修改日期实际上甚至没有改变,因此该工具似乎什么也没做。
ApkTool 过去似乎已经被许多其他人成功地用来做和我一样的事情,但现在我想知道它是否没有更新到 Android L 版本。
我还注意到原始未更改的 apk 比 apktool 和常规 rezip 的输出大约 3 mb。另一方面,我使用原始密钥、钥匙串、密码来退出应用程序。
有谁知道如何做到这一点,或者为什么应用程序可能会崩溃?apktool 是否适用于 Android 5.0+?任何见解都非常感谢!
*有关 apk 来源和我的授权的详细信息(根据 Chris 在他的评论中的要求):此特定应用程序属于我工作的公司(所以是的,我确实拥有完整的源代码,并且可以更改 AndroidManifest.xml文件在那里)。但是,此应用程序是手动分发给我们有限的客户的。此应用程序在应用程序商店中不存在,每个版本都手动更改以满足特定客户的需求(例如,与其公司匹配的特定应用程序名称或图标)。为了减轻开发人员的一些工作负担,我正在创建一个可以自动完成所有这些更改的 Windows 程序,我们团队的工作就像必须在文本框中输入新名称一样简单。在项目结束时,我计划拥有一个 Windows 工具,该工具可以获取我们应用程序的当前版本(以 apk 格式),更改应用程序名称或显示在简单文本字段中输入的图标,并输出签名和 zipaligned可以轻松发送给我们的客户的应用程序。
| 归档时间: |
|
| 查看次数: |
1179 次 |
| 最近记录: |