Android修改项目包名

article/2025/10/3 20:04:24

一 Android Studio 修改过程

修改项目包名,实现不覆盖安装(如果只是想不覆盖安装,更改build.gradle里面的包名就OK了,那这篇博文到这里就可以结束了,如果希望项目层次的包名也更改的话,请往下看)

1.首先新建一个项目,默认结构如下,红色的就是包名

2,更改显示项目结构方式,首先1,点击齿轮的图案。然后把第二步中的勾去掉

3更改项目结构显示后如下:

4,选中要修改的报名,快捷键shift + F6修改包名,选择Rename package

5,填好包名后点击Refactor

6 然后选择图中的Do Refactor

7。如下我们就修改好了包名

8。然后手动修改app build的applicationId.改成和我们之前修改的包名

9激动人心时刻,最后一步。包名都一样后,点击Sync Now。等一会,就这样大功告成

温馨提示:相信这样你已经包名修改成功了,运行一下

如果不行就clear项目和Rebuild一下项目。

另外说明一点,在 Studio 里面我们的 getPackageName 对应的是 applicationId , 而manifest 的那个package,在这里的作用其实是为了引用内部资源文件,以及保证 Activity 等源文件的路径正确而已,所以,在 Studio 中修改发布程序包名,则只需要在 build 文件中修改 applicationId 就可以了

参考

https://www.cnblogs.com/jpfss/p/9875582.html

二  eclipse的modules的相关概念

在还没有从eclipse转到Android Studio开发的时候,我们都知道一个项目的包名定义在AndroidManifest文件中的package,如下图:


我们来看下定义:

包名(package):指定本应用内java主程序包的包名。当没有指定apk的文件名时,编译后产生程序包将以此命名。本包名应当在Android系统运行时唯一。 

在两个不同的Application之间,用Application A的Activity A调用Application B的Activity B的时候,在AndroidManifest.xml中的package名称不能一样,否则安装完一个apk之后,再去安装另一个Application的apk的时候,会提示不存在,会有冲突,(install的时候,以内部package名字等信息为准,不是apk的名字为准),即使apk名字不同,AndroidManifest.xml中的package名相同会提示冲突。

所以,不同的Application,AndroidManifest.xml中的package名一定要不同,当一个Application中有多个package的时候,以这个Application的入口(MAIN+LAUNCHER的intent-filter)所在的包名为AndroidManifest.xml中的package名。如果一个Application没有入口程序,如packages/apps/Bluetooth,那以哪个包名作为AndroidManifest.xml中的package名都可以。

同时R文件对应的引用地址也是包名地址,所以每次更改工程包名我都十分痛苦,要替换所有文件中R文件的引用路径,如下图:


但是Android Studio却拯救了我,当我把工程从eclipse转到Android Studio之后,他出现了一个新的定义:ApplicationId,他允许我们在不改变AndroidManifest文件中的package情况下,更改applicationID,不同的applicationID相当于不同的包名程序,具体官方文档翻译:http://blog.csdn.net/maosidiaoxian/article/details/41719357


可以清楚地看到,我们的package包名在工程中的作用只剩下索引R文件,而ApplicationId成为了真正的包名,并且要注意的是,在集成jpush第三方sdk的时候,需要我们提供包名等信息,这里要引用applicationId

因此,总的来说就一句话:在Android Studio中build.gradle构建工程后,manifest文件中的packagename只用作R文件的引用包名,而applicationId变成了这个程序真正的包名。

原文链接:https://blog.csdn.net/qq1072313099/article/details/52872800

三 react-native修改包名

3.1 两个java文件

  • android/app/src/main/java/com/PROJECT_NAME/MainActivity.java
  • android/app/src/main/java/com/PROJECT_NAME/MainApplication.java

修改第一行

package com.oc.objective;

3.2 安卓的描述文件

修改第二行,把package的至改为com.oc.objective

  • android/app/src/main/AndroidManifest.xml
package="com.oc.objective"

3.3 两个打包脚本

3.3.1 android/app/BUCK

修改两个package的值package = 'com.oc.objective'

android_build_config(...package = "com.oc.objective",
)android_resource(...package = "com.oc.objective",...
)

3.3.2 android/app/build.gradle

修改applicationId

defaultConfig {applicationId "com.oc.objective"...
}

修改完成后,命令行进入android目录,执行./gradlew clean清除缓存即可(windows上是 gradlew.bat

3.3.4 java文件放入包名匹配的目录

至此差不多修改完成,能够打包出正确包名的apk。不过在开发过程中,如果需要自动link原生模块,会导致命令出错无法link成功。所以还是建议按照java的规范把java文件放入包名匹配的目录中。

把两个java文件移入新创建的目录android/app/src/main/java/com/oc/objective/里面,就能够react-native link了。

  • android/app/src/main/java/com/PROJECT_NAME/MainActivity.java
  • android/app/src/main/java/com/PROJECT_NAME/MainApplication.java

其他

react-native修改xcode项目名

原文链接 https://www.cnblogs.com/qiqi715/p/9479004.html


http://chatgpt.dhexx.cn/article/bPSEgyl4.shtml

相关文章

安卓Studio修改包名

修改项目包名 1)选中项目中药修改的包名: 2)目结构显示方式,取消 Compact Middle Packages 选项; 3)右键要修改的包名,选择 Refactor —— Rename 打开修改编辑框; 4)点击 Rename package 修改包名: 5)输…

Java包名与包路径

很多初学者以为只要把生成的class文件放在某个目录下,这个目录名就成了这个类的包名。这是一个错误的看法,不是有了目录 结构,就等于有了包名。为Java类添加包必须在Java源文件中通过 package语句指定,单靠目录名是没法指定的。…

Android 获取应用包名

Android 获取应用包名 得知华为把荣耀手机卖了, 看着我手中的荣耀30,突然想到会不会给我的手机推送一些奇奇怪怪的东西, 为了保险起见,决定把系统更新禁用了 然鹅,我竟然在华为的系统里看不到应用包名, 苦寻无果后&a…

如何查看IOS系统APP的包名

一.使用mac系统查看方法 使用mac系统,commond空格搜索 输入console进入控制台 选中连接的设备,启动app,日志刷新,右上方过滤搜索:submitting 就能看到当前应用的包名了,一般包名中有itunes.xxx 二.使用…

uniapp包名查看方法

uniapp小米应用分发平台上线应用过程梳理 一、账号申请审核 二、创建应用(提交的包名与manifest.json中Dcloud AppleID相似但是不是) 小米异常信息截图 三、安卓包名:参考安卓手机查看包名 ps:不要使用链接中的命令 直接使用adb shell dum…

IntelliJ IDEA 如何快速的修改包名

没错。我就是这么无聊。(请不要吐槽我的习惯,只是因为看到顺序很奇怪就想排个序) 本人有轻微的强迫症,拿到一个项目src目录和resources、WebRoot目录在同级。然后顺序乱七八糟,我有点受不了。我就按照以前的习惯。顺手…

Java-包名规范

Java项目包分类

安卓快速修改包名 -.- 备忘

文章目录 前言一、需要修改的点二、修改 applicationId三、修改 AndroidManifest 中的 package 包名四、修改项目目录结构 包名五、批量更改 import (全局替换文本)六、修改其他一些使用了 applicationId 的地方及获得应用ID 前言 改包名自然不是第一次…

IDEA如何修改包名

有很多小伙伴从网上找了项目源码后,发现项目的包名不符合自己的要求,想要修改一下包名,把他变成自己的。所以这里给大家讲解一下,如何修改项目的包名。 1.打开项目,我们可以看到原项目的包名是用自己的名字命名的&…

as修改包名

之前修改包名的时候,顺序总是不对,修改包名之后,各个类中引用地址都需要改变,很麻烦。特意拿出一些时间,整理一下这边,记录一下。 1.首先 ,修改包名 ,可以先根据自己的需要更改包名的…

如何知道一个App的包名

包名(Package name)在Android系统中是判断一个App的唯一标识,不同的App可以有同样的名字,但是它的包名不可以相同 例如我可以自己编译生成一个App也叫“微信”,但是我App的包名不能为com.tencent.mm(微信的…

获取应用包名

一、获取应用包名的方法 1、根据应用的apk文件来获取 (1)打开cmd窗口,cd命令切换到Andorid SDK下的aapt所在目录(一般在build-tools目录下)注:切换到不同磁盘的目录,需要先切换到对应的磁盘&am…

android 包名工具,查看包名(安卓应用包名查看工具)

查看包名app功能最为全面的安卓应用安装包信息查看器,不仅是包名,各种md5信息,图标内容,版本号等等都能显示,并且不用安装就能插件安装包内的各种内容,十分方便,喜欢的朋友们赶快下载查看包名app开始体验吧! 查看包名软件介绍 查看应用包名app是一款可以快速查看手机…

Java之包名

1. 包名代表一层一层的文件夹,即会自动生成相应的文件目录,如包名pers.chen.hello_java: 表示: 2. 包名的命名规则 (1)格式:版权所有.版权所有者名.项目名.模块名 (2)全…

包( package )的命名规则、常用包名、更改包的显示方式

包: 相当于windows中的文件夹 *作用: 1. 分类整理和保存代码, 方便管理和使用 2. 不同包中可以存在同名的类 *命名要求: 1. 通常只使用小写字母 2. 通常每个包的名字只使用1个单词 3. 域名倒置 通常使用组织的网络域…

包的命名及作用

一、包命名规则: 1、 包名 全部由小写字母 (多个单词也全部小写) ; ( 这是约定俗成的规范 ) 2、 如果包名包含多个层次, 每个层次应该用“ .” 分割; 3、 包名一般由倒置的域名开头,比如 com.ba…

Java基础第六课(关于包名的讲解)

好啦,开始。。。 写了好几次代码 不知道你们注意到没 每次我创建Class的时候 上面都有个package没填写 如下图: 其实这个就是包名 1.什么叫包? 为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如…

Java 遍历JsonNode

如图,有一个jsonNode对象,我想获得路径"data" -> "items"数组下的每个元素的某个值,比如id,那么我得遍历这个数组Node对象。 使用elements()方法即可,直接上代码: // 遍历jsonNode&…

json对象的遍历(C++)

在使用C的项目中,对json进行解析时,如果对象列表过长,通常就需要对对象进行遍历,来实现解析。 我参看了博客,如下: https://blog.csdn.net/hellokandy/article/details/51607311 使用iterater对json对象…

JSON、遍历获取json对象的值

一、JSON基本入门 二、定义JSON对象 建一个html: <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><script>//1.定义基本格式var person {"name": "张三&…