Android电子市场刚刚更新了我设备上的一个应用。我喜欢此更新,但与我最喜欢的最新版本完全不同。因此,我也想保留最新版本。感谢Titanium Backup,我有最新版本的APK。但是,如果不替换当前版本,就无法安装(Android体系结构很糟糕)。有什么办法吗?黑客等。注意:我想保留当前版本,该版本必须与Market连接才能接收将来的更新。

#1 楼

可以做到,但由于eldarerathis提到的原因并不简单。
您需要apktool。有关如何使用它,请参阅本指南。完成后在apk上签名。

您需要修改AndroidManifest.xml文件。找到看起来像这样的行:

manifest package="com.example.app"


,然后将其更改为:

"com.example.app.foo"


之后完成后,重新编译然后辞职。要恢复您的数据,请尝试通过adb尝试以下操作: >总是有很小的机会会破坏应用程序,或者取决于应用程序的结构方式,每次更改屏幕时您可能会收到一个对话框,提示您选择要启动的应用程序,但是如果您尝试启动该应用程序,绝对值得尝试您非常想要它。

当然,这两个应用不会共享相同的设置和数据。

评论


太好了。我认为这不会受到法律问题的困扰,因为我不会分发/出售它。

–user3303
2012年3月19日19:57

这取决于您的国家。在匈牙利,出于学习/个人目的对应用程序进行反向工程是合法的,但我对世界其他地方一无所知。但是,由于您不分发任何内容,因此不会遇到麻烦。

– R R
2012年3月19日20:25



#2 楼

你做不到每个Android应用程序都有一个程序包名称,该名称有效地定义了其类占用的Java / Dalvik名称空间。您不能安装两个同名的软件包,因为它将创建重叠的名称空间,这就是为什么在安装新的名称空间时总是替换旧的名称空间的原因。唯一可行的方法是,如果能够获取应用程序的源代码并更改所有程序包定义。

#3 楼

在5分钟内完成操作

方法:更改程序包名称,以便android将其识别为其他应用程序。

无需APKtool,无需adb,无需任何超级用户技能。

所需工具


带有JAVA的PC(Windows,Linux,Mac)(首选JDK 8)

ApkRename

步骤



备份/下载所需应用的副本(app.APK
传输到PC
在PC上下载JAVA和ApkRename
通过提供APK文件和新软件包名称的路径,将软件包名称更改为ApkRename来更改软件包名称。
使用ApkSign
对APK进行签名
将新的APK转移到手机上并进行安装。

注意:如果对APK进行签名有任何困难,请使用Advanced permission manager之类的android APK编辑器应用并进行任何编辑,然后按Save&install。此时,他们将对应用程序进行签名。

#4 楼

您可以尝试重新打包应用程序。我曾经安装过某个游戏的一些编辑版本,结果只有两个游戏。如果没记错的话,包名也不一样。

#5 楼

有时,可执行库(.so)中有一些引用,更改软件包名称(也包括smali-> classes.dex)也无济于事。

在简单情况下,请查找ApkEditor。

评论


这是一个很好的开始,但没有说明您需要在ApkEditor中进行哪些更改。如果您希望答案有帮助,则可能需要对其进行编辑以添加更多信息。

–丹·赫尔姆
13年8月19日在22:16