`

如何快速修改/更换android应用的包名

    博客分类:
  • self
 
阅读更多

       参见:http://xhmj12.blogspot.com/2015/05/android-appappappgoogle-playgoogle_15.html

 

        在做Android app开发时,经常遇到需要修改app包名的情况。例如,你发布了一个app到google play市场,由于其他不符合google play政策很被下架,而你又想重新上架你的app,那么你就不得不更换你的app包名。或者测试时也经常遇到这样的需求。那么如何在现有app的代码继承上快速修改你的app包名呢?

 

        我们可能标准的做法是:假设我们是eclipse等IDE开发环境,那么,我们可以点击到主包名上,然后右键——> "refactor" ——> "rename"  ——> 在弹出的对话框修改包名,同时勾选"Upate references"或者"Renanme subpackages"。这样IDE环境就会帮你修改完成app包名,同时manifest.xml文件里的等包名相关的地方也改动过来了。而代码中写死的包名字符串的地方需要你手动改动下。这样你就完成了修改包名。

 

        这样做,可能有几个缺点:

           1.比较麻烦;

           2.有时需要手动更改硬编码到代码中的包名字符串;

           3.再改回来比较麻烦,因为需要改动源代码的包名;

           4.当依赖工程较多时,这种改动的麻烦就更显麻烦。

 

        有没有更快更好更便捷的方法呢?只让我们改动标识应用的包名,而不改变原来程序源代码的包名呢?

 

         有,首先,我们要改变一个固有思维:包名唯一标识一个app,但这个包名指的是manifest.xml的<manifest>根标签下的package = "com.xxx.xxx";和程序源代码的包名没有任何关系,可以和组织程序源代码的包名相同也可以不同。但一般相同。

 

        有了上面的认识,我们就可以轻松的修改一个app的包名了。只需修改manifest.xml的<manifest>根标签下的package = "com.xxx.xxx"的package属性就可以了,而不需要修改src源代码文件夹下的类的包了。这是gen中生成的R文件的包名就修改了,这是就需要修改类里引用到R文件的import语句。然后修改mainifest文件里的组件(如<Activity>)声明的"name"属性里的相对路径声明的地方改成绝对路径声明,然后这样你的应用就相当于另外一个app了。

 

         这样改动回来也很方便,修改回manifest.xml的<manifest>根标签下的package = "com.xxx.xxx"的package属性,然后修改工程里的import语句的R文件引用错误就ok了。

 

         还有,有时我们可能遇到这样的争论:在manifest文件里声明activity等组件时,是配置成绝对路径(全引用包名)还是相对路径好?这方面可能给我们一点答案。我们知道声明成相对路径需要src/文件下类的包名和manifest里根标签下的package属性值一致。

分享到:
评论

相关推荐

    Android动态更换应用图标和应用名称

    使用的是activity-alias来动态更换应用的图标和应用名称

    Android Theme更换主题换肤应用实例

    Android Theme界面换肤应用实例,也就是更改系统主题风格,可在“应用透明背景的主题”、“应用布景主题1”、“应用布景主题2”三种皮肤风格之间切换,Android换肤对Android手机来说是再简单不过的功能了,个性化...

    Android 动态修改应用图标

    动态修改应用图标及应用名称,动态修改应用图标及应用名称

    2014-12-16-关于更换应用程序图标的问题

    在res/drawable-hdpi或res/drawable-ldpi或res/drawable-mdpi目录下,加下你要显示的图片,最好后缀是为.png的,然后修改AndroidManifest.xml文件,里面有这样一行代码&lt;application android:icon="@drawable/icon" ...

    Android应用源码之更换软件主题(zip方式).zip

    Android应用源码之更换软件主题(zip方式).zip

    安卓自动打包

    Android ant 自动打包脚本:自动替换友盟渠道、版本号、包名,而不影响代码(修改的是临时目录中的代码)。 如何集成到我的项目里 前提:了解android官方文档,在项目目录中执行官方命令能打包,比如常见的打包...

    Android应用源码之更换软件主题(apk方式).zip

    Android应用设计源码安卓实例源代码,可供学习及设计参考。

    Android UI组件实例集合

    为Android应用开发提供一个轻量级开发框架,让开发者可以基于HTML/CSS/JAVASCRIPT快速开发android应用界面,同时也能够利用mobilelite调用android后台的服务。 18、Android瀑布流实例 android_waterfall 实现了类似...

    基于eclipse的Android更换头像.zip

    Android是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的移动操作系统,主要应用于移动设备,如智能手机和平板电脑。该系统最初由安迪·鲁宾开发,后被Google公司收购并注资,随后与多家硬件制造商、软件...

    Android在高jar包版本的工程中修改方法

    所以我们需要将我们已经开发好的应用程序换上低版本的android jar包重新编译一个APK,那么如何简单的在高版本的工程中直接修改呢: 1、 eclipse中点击工程-&gt;Properties-&gt; Android 在右侧的界面中选中Android 2.2即可...

    Android 实现一键切换应用主题颜色(二)

    上一篇说到一键切换应用的主题颜色,那么今天就继续来讲一讲如何实现应用的有些图标也一样能够跟随应用的主题颜色切换而改变图标的颜色。比如应用首页的一些固定的展示图标,或者是单选框以及复选框的图标,还有一些...

    Android的开源课程表应用,支持上下课提醒,上课手机自动静音等功能+源代码+文档说明

    Android的开源课程表应用,支持上下课提醒,上课手机自动静音等功能+源代码+文档说明 功能 今日课表 本周课表 上下课课程提醒 上下课手机自动静音 更换主题,背景图片 查成绩 - 项目介绍 运行中有什么问题可以...

    Android-动态修改APP桌面图标

    ”,我想了一下回复他:“这是不可能的,设想一下,APP提交审核时候使用的是合规图片,过审之后,动态下发的时候突然下发了一张违规图片(比如:黄赌毒),应用市场怎么监管?所以这个是不可能的。”

    android电子菜谱 apk

    1、综合应用成本低于传统菜谱:传统菜谱制作价格不菲,且须经常翻新、修改、更换,且要耗费大量的精力、财力;平板电子点餐系统按5年使用时间计算,综合应用成本远低于传统菜谱,且对精力、资源是极大的节约;目前...

    Android 点击屏幕更换图片源码.zip

    本程序是一个基于Android中一个点击图片更改图片的例子,当点击图片时将会有图片的更改,而且还会出现笑脸的提示。希望能够给大家带来一些帮助。  

    Android 的一些特效

    ImageView的边框 图片切换查看 ...HttpClient的一个应用的例子(图片下载).txt RatingBar 更换图片.doc TextView 添加超链接.doc TextView 滚动.doc 屏幕的横竖更改.doc 界面的横排和竖排.doc

    Android的一些特效资料

    ImageView的边框 图片切换查看 Android开发培训课件.ppt ...HttpClient的一个应用的例子(图片下载).txt RatingBar 更换图片.doc TextView 添加超链接.doc TextView 滚动.doc 屏幕的横竖更改.doc 界面的横排和竖排.doc

    Android X浏览器 v4.0.4 小巧流畅极简的浏览器更新版

    – 兼容一些起始页应用,在第三方起始页应用禁用浏览器的长按菜单 – 修复油猴脚本@exclude标记通配符匹配不生效的问题。 4.0 大版本升级,仅支持android 7.0 以上系统,请提前备份好数据谨慎升级。 ## 新增/优化 –...

    Android如何动态改变App桌面图标

    时不时的我们就会发现,一些我们常见的应用,比如某宝,某东,在一些特殊的日子中,比如双十一,元旦,为了迎合这样一个日子的气氛,在桌面的应用图标就会发生改变,其实对于这样的一个桌面图标更换,Android中为...

    先锋Android Market CMS内容管理系统 X1.0.zip

    7、APK包信息自动获取:每一个应用包里面都包含了包名、版本号、版本Code、系统SDK版本等信息,这些信息关系到版本升级,用户的手机是否适合使用,所以是至关重要的,也是Android Market必备的一项功能。 8、专题...

Global site tag (gtag.js) - Google Analytics