#1 楼
可以做到,但由于eldarerathis提到的原因并不简单。您需要apktool。有关如何使用它,请参阅本指南。完成后在apk上签名。
您需要修改AndroidManifest.xml文件。找到看起来像这样的行:
manifest package="com.example.app"
,然后将其更改为:
"com.example.app.foo"
之后完成后,重新编译然后辞职。要恢复您的数据,请尝试通过adb尝试以下操作: >总是有很小的机会会破坏应用程序,或者取决于应用程序的结构方式,每次更改屏幕时您可能会收到一个对话框,提示您选择要启动的应用程序,但是如果您尝试启动该应用程序,绝对值得尝试您非常想要它。
当然,这两个应用不会共享相同的设置和数据。
#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
评论
太好了。我认为这不会受到法律问题的困扰,因为我不会分发/出售它。
–user3303
2012年3月19日19:57
这取决于您的国家。在匈牙利,出于学习/个人目的对应用程序进行反向工程是合法的,但我对世界其他地方一无所知。但是,由于您不分发任何内容,因此不会遇到麻烦。
– R R
2012年3月19日20:25