开发中,我们初始创建项目时,随着项目的推进,包名不是最终我们想要的,这时,需要我们修改包名。
step1. 修改文件夹包名
当我们需要修改文件夹目录(包名)时,按shift+F6时,只能修改包名最后面的文件夹名称,如图

这时,需要打开左边导航的设置logo,将Compact Empty Middle Packages的勾取消,勾选Flattern Packages,如图

接下来的包名如图显示,就可以根据自己的需要修改文件夹包名了。

step2.修改AndroidManifest.xml的包名
这个很简单,大家都会了。。
但是如果你只修改AndroiManifest.xml的package的话,你在程序中获取的包名可能跟你想要的不一致,这就需要第三步了。
step3.修改build.gradle的applicationId

只有修改了applicationId,你通过ActivityManager拿到的包名才是正确的。
测试代码如下:
/** * 获取当前应用程序的包名 * @paramcontext 上下文对象 * @return返回包名 */
public static String getAppProcessName(Context context) {
int pid = android.os.Process.myPid();
ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List infos = manager.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo info : infos) {
if (info.pid == pid){
return info.processName; //返回包名
}
return "";
}
网友评论