`

如何快速修改/更换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动态更换应用图标和应用名称

    在Android中,我们不直接修改应用的主Activity来实现这个功能,而是利用`&lt;activity-alias&gt;`标签。`&lt;activity-alias&gt;`是AndroidManifest.xml文件中的一个特殊组件,它可以作为Activity的别名,拥有自己的图标和启动...

    Android 动态修改应用图标

    总结来说,动态修改Android应用的图标和名称涉及修改应用的元数据,并通过反射和系统广播来更新系统缓存。这是一个相对复杂的过程,需要对Android系统有深入的理解。在实际开发中,应谨慎使用,并确保遵循最佳实践,...

    Android应用源码安卓软件实现动态皮肤更换.zip

    本资源“Android应用源码安卓软件实现动态皮肤更换.zip”提供了实现这一功能的源代码,对于开发者来说,这是一个很好的学习和参考案例。下面我们将深入探讨Android应用中动态皮肤更换的关键技术和实现步骤。 首先,...

    android 应用修改图标Demo

    本教程将详细讲解如何在Android应用中实现图标修改,以"ChangeIconDemo"为例,提供一个简单而实用的方法。 首先,我们要理解在Android系统中,应用图标是由AndroidManifest.xml文件中的`&lt;application&gt;`标签定义的。...

    Android 应用 更换皮肤(skin apk安装实现)

    在Android应用开发中,更换皮肤或主题是一种常见的用户定制化功能,可以提升用户体验,让用户根据个人喜好调整应用的视觉风格。本篇文章将深入探讨如何在Android应用中实现皮肤更换,特别是通过skin APK安装来实现这...

    更换分享图,更换名字、打包.rar

    "更换名字"则意味着更改应用的名称或者包名。应用的名称在用户界面中显示,影响用户的认知和下载决策。而包名在Android系统中是应用的唯一标识,不能与已存在的应用重复。在iOS中,应用的名称可以在iTunes Connect...

    Android更换头像功能

    在Android应用开发中,"Android更换头像功能"是一个常见的需求,特别是在社交或者个人信息设置类的应用中。这个功能允许用户选择或拍摄一张照片,然后将其作为个人头像显示在应用中。下面将详细讲解实现这一功能所...

    android应用程序实现更换自己的背景图片

    综上所述,实现“android应用程序实现更换自己的背景图片”这一功能,需要掌握Android的资源管理、布局文件操作、动态编程、数据持久化、图片加载、自定义View、主题样式、权限管理以及屏幕适配等多个方面的知识。...

    Android动态更换图标

    在Android开发中,动态...总的来说,动态更换Android应用图标需要理解Android资源管理机制、组件信息以及权限管理。通过正确地操作这些核心元素,开发者可以为用户提供一个独特的交互体验,让他们的应用更加引人注目。

    更换背景图片(Android)

    综上所述,更换Android应用的背景图片涉及到资源管理、XML布局、Java代码操作、Drawable对象、图片加载库、动画过渡、主题样式以及自定义View等多个方面。熟练掌握这些技术,可以让你的Android应用界面更加生动和...

    android Activty背景更换

    在Android开发中,Activity是应用程序的基本构建块,它代表用户界面的一个屏幕。为Activity更换背景是一项常见的需求,特别是在个性化和视觉效果设计上。本篇将详细介绍如何在Android中实现Activity的固定背景更换,...

    Android-一个现代简便和可定制的Android应用管理器

    这个文件名可能是指由开发者Javier Santos创建的名为MLManager的Android应用管理器的一个特定版本。开发者通常通过Git仓库进行项目协作,f4f4206可能是该项目在Git历史中的一个提交哈希值,表示该版本的特定代码状态...

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

    总的来说,更换Android应用主题涉及到资源管理、动态加载、权限控制等多个技术点,需要对Android系统有深入的理解。不过,通过精心设计和编程,我们可以创造出一款支持自由更换主题的Android应用,满足用户的个性化...

    android theme 皮肤主题 的应用

    在Android操作系统中,主题(Theme)是用户界面的重要组成部分,它定义了应用程序的整体视觉样式,包括颜色、字体、布局和图标的外观等。...理解并掌握这些知识点,将有助于开发出更加美观、个性化的Android应用。

    android-修改头像

    在Android应用开发中,"修改头像"是一个常见的功能,用户可以上传个人照片作为自己在应用中的头像。本文将详细讲解如何在5分钟内快速实现这个功能。 首先,我们需要在用户界面(UI)上创建一个可以触发头像更换操作...

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

    总之,这个项目展示了如何通过ZIP文件动态更换Android应用的主题,这是一个创新且实用的技术,可以帮助开发者提供更加个性化和灵活的用户体验。然而,实际实施时需要考虑性能、安全和兼容性等多个方面,确保用户体验...

    android 刷机包修改 移植

    ### Android 刷机包修改与移植详解 #### 一、引言 随着Android系统的普及与发展,越来越多的技术爱好者加入到了自定义ROM的开发行列之中。本文旨在深入探讨Android刷机包的修改与移植方法,帮助读者了解如何对现有...

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

    本教程将深入探讨如何通过apk方式实现Android应用的主题更换。这种方式允许用户动态地下载和安装新的主题包,而无需重新编译或更新整个应用程序。 首先,我们需要理解Android主题的工作原理。在Android系统中,主题...

    android应用程序更换自己程序的主题

    在Android应用程序开发中,为用户提供自定义主题的功能是一项高级特性,可以增强用户体验并彰显个性化。QQ等知名应用就提供了这样的功能,让用户可以根据个人喜好选择不同的界面风格。本篇将深入探讨如何在Android...

Global site tag (gtag.js) - Google Analytics