applicationId和packageName 的异同

简介: applicationId和packageName 的异同
关于作者: CSDN内容合伙人、技术专家, 从零开始做 日活千万级APP,带领广告团队广告单日营收超千万。
专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业化变现、人工智能等,希望大家多多支持。

在这里插入图片描述

一、导读

我们继续总结学习基础知识,温故知新。

今天我们记录一下 applicationId & packageName 的异同。

二、概览

在 Android Studio 中创建新项目时,applicationId 与创建时选择的 Java 样式软件包名称完全一致。
不过,除了这一点,应用 ID软件包名称彼此无关。您可以更改代码的软件包名称(代码命名空间),这不会影响应用 ID,反之亦然(但同样,发布您的应用后,不得更改应用 ID)

  • application id 与 package name 分工明确

    • application id 负责 App 的进程 ID
    • package name 负责 R 的包名以及 Manifest 中 Activity 等四大组件的相对包名

如果 build.gradle 中没有指定 applicationId,那么 application id 的默认值就是 manifest 的 package 属性值

虽然应用 ID 看起来就像传统的 Java 软件包名称一样,但应用 ID 的命名规则限制性更强一些:

  • 必须至少包含两段(一个或多个圆点)。
  • 每段必须以字母开头。
  • 所有字符必须为字母数字或下划线 [a-zA-Z0-9_]。

2.1 更改软件包名称

默认情况下,项目的软件包名称与应用 ID 匹配,果您要更改软件包名称,需要注意的是,软件包名称(由项目目录结构定义)应始终与 AndroidManifest.xml 文件中的 package 属性匹配,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"   
    package="com.example.myapp"    
    android:versionCode="1"    
    android:versionName="1.0" >

Android 构建工具使用 package 属性来发挥两种作用:

  • 它将此名称用作应用生成的 R.java 类的命名空间。
  • 它会使用此名称解析清单文件中声明的任何相关类名。

三、 推荐阅读

Java 专栏

[SQL 专栏]

[数据结构与算法]
[Android学习专栏]
ddd

相关文章
|
SQL 人工智能 算法
Android性能优化之应用瘦身(APK瘦身)
Android性能优化之应用瘦身(APK瘦身)
|
Java API Android开发
Android TV 开发之 TV视频播放器(上)
Android TV 开发之 TV视频播放器(上)
1202 0
Android TV 开发之 TV视频播放器(上)
|
存储 JavaScript 前端开发
Vue2+Vue3基础入门到实战项目(七)—— 智慧商城 项目
Vue2+Vue3基础入门到实战项目(七)—— 智慧商城 项目
499 0
FTPClient创建目录失败(makeDirectory)
FTPClient创建目录失败(makeDirectory)
1243 0
|
分布式计算 自然语言处理 DataWorks
高效使用 PyODPS 最佳实践
以更清晰的认知 PyODPS,DataWorks PyODPS 节点以及 PyODPS 何时在计算集群运行,开发者如何利用 PyODPS 更高效地进行数据开发。
18109 3
高效使用 PyODPS 最佳实践
|
网络协议 Linux
linux学习之套接字通信
Linux中的套接字通信是网络编程的核心,允许多个进程通过网络交换数据。套接字提供跨网络通信能力,涵盖本地进程间通信及远程通信。主要基于TCP和UDP两种模型:TCP面向连接且可靠,适用于文件传输等高可靠性需求;UDP无连接且速度快,适合实时音视频通信等低延迟场景。通过创建、绑定、监听及读写操作,可以在Linux环境下轻松实现这两种通信模型。
233 1
|
12月前
|
自然语言处理
杨笛一团队最新百页论文:首次统计学上证明,LLM生成的idea新颖性优于人类
【10月更文挑战第12天】斯坦福大学杨笛一团队发布百页论文,首次通过统计学方法证明大型语言模型(LLMs)在生成研究想法的新颖性上优于人类专家。研究招募100多名NLP专家进行盲评,结果显示LLM在新颖性方面显著胜出,但在可行性上稍逊。研究揭示了LLM在科研创新中的潜力与局限。
291 2
|
存储 SQL 缓存
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
【软件设计师备考 专题 】数据库模型(概念模式、外模式、内模式)
618 1
|
缓存 图形学 异构计算
【#Unity Shader#Amplify Shader Editor(ASE)_第二篇】
【#Unity Shader#Amplify Shader Editor(ASE)_第二篇】