AndroidStudio修改项目包名问题及解决(解决apk安装覆盖问题)

对于一个项目,想更改其中的一部分内容,然后再次安装到手机,我想保留更改前后的app都安装到手机。每次操作都会覆盖文件,提示需要先卸载先前的app;

本文为了解决如上问题,搜了些资料,针对自己的情况做成如下笔记;(本人安卓小白,文章仅仅做学习记录)


step1: 拷贝一份project,将其重命名;

如上,我是拷贝的tensorflow官网自带的android这个安卓项目文件,并将项目文件夹重命名为android_yolo_renamed

用android studio打开已经存在的一个项目文件,选择上面重命名后的项目文件打开;


step2: 更改包名;

点击上图中的画圈部分(齿轮状),弹出的下来选项中将compact empty middle packages这个选项前面的√取消选择(如下图)

在左边窗口的折叠栏中找到你要更改名字的包;(下图红圈)

tfyolo是我更改后的包名,更改的方法是,鼠标选中待更改包名的文件,按shift+F6快捷键,会弹出更改包名的窗口;

填入你要更改的名字,记得勾选对话框中的两个√,它会用新包名替换工程中对应原旧包名位置;

然后点击Refactor;

然后在左下角会提示下图信息,点击‘Do Refactor’,这样就会把找到原旧包名位置处替换成新包名了;

完成上述步骤后,需要你将原来的.gradle和.build文件删除;

记得去resource中去更改你的apk安装到手机端后显示的软件名,一般在这个位置:

<string name="activity_name_detection">TF YOLO Detect</string>

完成上面工作后,进行重新同步(sync),然后Build->Clean Project;然后Build->Rebuild Project;

如果以上步骤已经达到你的需求,即重新build得到的apk安装到手机不会覆盖你之前安装的软件,那么就OK了;

下述针对我的工程遇到的问题以及解决;


step3:手动更改包名

针对我的工程,发现会弹出如下错误;

cannot resolve symbol R

网上参考解决方案是:

百度上关于这个错误的解释有以下几个:

1.多半是xml文件有问题,,标签不匹配等等,仔细检查。
2.如果提示的错误你已经解决,但是仍然不听的提示错误。

解决的方法有下面几种:

1,.重启AS,比较麻烦,不推荐。

2.选中自己的project然后按F4,进入Project Structure检查sdk是否正确。
3.在modules中,选中右边的sources标签,check一下src,和gen(貌似现在不显示这个了)。

4.“file”--》“invalidate caches/restart” 解决。

5.点击同步下gradle就可以了


针对我的工程,我将AndroidManifest.xml中的package也手动更改了,step2中的操作还无法更改package的包名。如此rebuild成功并能完美安装了,且与此前的apk文件不重叠。

package="org.tensorflow.tfyolo"

参考:

https://www.aliyun.com/jiaocheng/67833.html

https://blog.csdn.net/yun382657988/article/details/72963447

https://blog.csdn.net/qq_35270692/article/details/78336049

https://blog.csdn.net/beijingkejidaxue1/article/details/79297747

猜你喜欢

转载自blog.csdn.net/c20081052/article/details/83987880
今日推荐