看官们,我们在上一章回中介绍了Java中Timer的例子,本章回中我们将介绍Android中修改应用程序包名的例子,闲话休提,言归正转。让我们一起Talk Android吧!
最近在AndroidStudio中运行一个比较老的工程时编译正常,但是程序无法安装到手机上,错误信息为:INSTALL_FAILED_VERSION_DOWNGRADE网上搜索相关资料后得知是当前应用程序的版本比已经安装在手机上的应用程序版本低,但是手机上没有此应用程序,可能是时间长了,此应用程序被删除或者覆盖了。折腾半天仍然无法解决。换个思路:解决不了就绕开它!
程序版本低是直接原因,根本原因是同一手机上不能安装相同包名的应用程序,换个包名就可以安装。于是我总结出修改程序包名的方法:
- 1.在AST中切换到Packages视图
- 2.在包名上点击右键:选择Refactor->Rename。在弹出窗口中填写新的包名;
- 3.搜索完整个工程后点击done,确认替换,到此任务完成;
这个操作看似简单,但是有以下内容还需要引起注意:
- 1.只能替换最后一个名称,举个例子:完整包名是com.tencent.qq,只能替换成com.tencent.wechat,也就是最后一个段中的名字;
- 2.替换后重点检查两个地方的值是否正确,
??????????? 第一个是AndroidManifest.xml中的首行:
<manifest xmlns:android="http://schemas.android.com/apk/res/android
"package="com.tencent.wechat"> //这个值是否正确
??????????? 第二个是app目录下的build.gradle文件中的
defaultConfig {
applicationId "com.tencent.wechat"//这个值是否正确
}
- 3.修改包名的同时也会修改文件目录名称;
- 4.如果想把完整包名中所有的名称都替换掉,那么只能手动修改文件目录名称,接着再手动修改2中两个地方的值;
- 最后是手动修改程序文件中import 包名的代码,可以使用全工程replace的功能,不然修改起来很消耗时间;
- 5.包名修改后进程名也会跟着变化,可以在AST上调试log时看到,因为此时运行的是debug版本,不过在正式的release版本中看不到进程名,而是显示一个问号。
各位看官,关于Android中修改应用程序包名的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
|