前些日子需要复制一个安卓的应用,需要从一个包名改成另一个包名。
比如:从 cn.com.main.bad 改成 com.eminem.rihanna,
可以看到包名的目录结构是变化了的。从四层包名变到三层包名。
由于是用android studio开发的,所以,按照之前的方法,直接在app目录(不是工程目录)下的build.gradle里,将applicationId 后面跟着的包名改成了com.eminem.rihanna。此外,如果集成了极光推送,在androidManifest.xml文件中只将极光推送部分的所有包名都要改成com.eminem.rihanna即可。别的地方都不用改,即可实现,新老应用都可以在同一台设备上生存。
但:(But)如果集成了第三方微信登录,因为在微信的官方控制台上使用的包名是
cn.com.main.bad,所以上面的方法就不好用了。遇到的问题是:当正确使用了微信的app ID,也正确的签了名,但点击“授权登录”就是不能进入首页。直接回退到上一个activity.