Android studio 修改包名

在 Android Studio 里把 package="com.fhvideo.phone" 整体改掉 (例如换成 com.mycompany.newapp)分两步走:

  1. 源码目录结构package 声明 一致
  2. build.gradle 的 applicationIdAndroidManifest.xml 的 package 同步(否则安装时会当成全新应用)

下面给出 最简无坑流程,全程 2-3 min,复制即可用。


一、一键重命名(IDE 自带)

  1. 切到 Project 视图 → 展开 java/com.fhvideo.phone
  2. 右键 phone 文件夹 → Refactor → Rename → 选 Rename package
    输入新包名最后一级(如 newapp)→ Refactor
  3. 在弹出 Find Refactoring 窗口里点 Do Refactor
    → IDE 会自动把
    • 目录结构
    • 所有 .kt / .java 文件的 package
    • 所有 import com.fhvideo.phone.*
      全部批量改掉。

二、修改顶层包名(com.fhvideo → com.mycompany)

如果 整段包名都要变(不止最后一级):

  1. 打开 Project 视图,逐层 Refactor → Rename 每一级文件夹(先改 fhvideomycompany,再改 phonenewapp
  2. 或者 一次性写法
    com.fhvideo.phone 任意文件内
    把光标放到 package com.fhvideo.phone 行 → Shift+F6 → 输入 com.mycompany.newappRefactor
    Android Studio 2023.1+ 会弹出 "Rename directories accordingly" → 勾选 → Refactor
    即可一次性把目录 + 文件 + import 全部替换。

三、让构建文件同步

  1. build.gradle(模块级)

    gradle 复制代码
    android {
        namespace 'com.mycompany.newapp'          // 新增 AGP 7.0+ 必填
        defaultConfig {
            applicationId "com.mycompany.newapp" // 应用 ID 改成一致
            ...
        }
    }
  2. AndroidManifest.xml
    不需要 再写 package="..."(AGP 7.0+ 用 namespace 代替),若旧项目还有这一行可删掉或一起替换。

  3. Sync → Clean → Rebuild。


四、防坑检查清单

检查点 操作
src/*/java/ 目录结构 必须和包名完全一致
applicationId 与新的包名保持一致,否则商店会识别成新应用
activity-alias / provider / receiver 如果 Manifest 里写死旧包名,要 Replace in Path 批量替换
第三方 SDK 里写死包名 例如微信 WXEntryActivity 必须在 wxapi 文件夹下,需手动拖目录
google-services.json / agconnect-services.json 若用到 Firebase/华为 HMS,要重新下载配置文件并替换

五、一行命令验证

bash 复制代码
./gradlew :app:assembleDebug

构建成功后 APK 解析 看包名:

bash 复制代码
aapt dump badging app/build/outputs/apk/debug/app-debug.apk | grep package

输出应为:

复制代码
package: name='com.mycompany.newapp' versionCode='1' versionName='1.0'

→ 完全一致即大功告成。


一句话总结

IDE Refactor(Shift+F6)(改源码目录 + import)→ build.gradle 里 namespace & applicationId 同步 → Clean & Rebuild,三步走完,包名就彻底换成新的了。

更多阅读

困住我们一直在经济底层的到底是什么?

大前端++

AI 对大前端项目的冲击,【大前端++】来抵御
【混合开发】进阶到【大前端++】
【大前端++】几大特征
【大前端++】前端、大前端、大前端++的区别有哪些?

Android推荐阅读

Cannot fit requested classes in a single dex file (# methods: 93047 > 65536)
【Android】开发者模式启用

开发工具链推荐

API开发工具postman、国内xxapi和SmartApi的性能对比

心法杂谈

【心力建设】《毛选》里的心法

【心力建设】3:如何在组织集体或团队里得到认可

健康杂谈

【论健康】怎么才算健康(健康的本质)
【论健康】健康的不可能三角

相关推荐
小徐_23334 分钟前
AI 写 wot-ui 总在猜 API?我们把 Skills、MCP 和 CLI 都配好了
前端·uni-app·ai编程
winfredzhang9 分钟前
用 wxPython + ECharts + 阿里矢量地图,做一个可离线兜底的上海雨量看板
前端·javascript·echarts
索西引擎20 分钟前
【React】Immer.js 在现代 Redux 生态中的角色:不可变性保障的工程化实现与开发体验优化
前端·javascript·react.js
野蛮人6号22 分钟前
黑马天机学堂系列问题之域名无法正常使用
java·spring cloud·天机学堂
kisshyshy23 分钟前
《川剧变脸 × React 状态管理?我在浏览器里跑了个端侧大模型》
前端·react.js·架构
只一23 分钟前
端侧AI实战第二章:React组件工程化 + 事件系统 + 可复用进度条(WebGPU模型加载底座)
前端·react.js
学计算机的计算基24 分钟前
回溯算法下篇:四道经典题讲透约束剪枝、原地标记、预计算与状态压缩
java·笔记·算法
大卫陈32 分钟前
微信小程序虚拟支付实战:从「支付能力被限制」到沙箱调通的全过程
前端·后端
武子康33 分钟前
vLLM 0.25.1:服务没有报错,为什么仍会生成垃圾 Token(5 级正确性门禁 + 自动回滚条件)
前端·人工智能·后端
jyp2012110736 分钟前
Vue3 Diff 算法
前端·vue.js