codecamp

IntelliJ IDEA重命名应用程序包(应用程序ID)

重命名应用程序包(应用程序ID)

在使用 IntelliJ IDEA 中的应用程序的时候,您可能需要将应用程序构建为多个版本,这意味着会生成多个 Android 应用程序包(.apk 文件)。如果这些文件具有相同的名称,则用户将无法同时将它们部署到同一设备上。为了避免这种情况,可以让 IntelliJ IDEA 使用相同的源代码生成具有不同名称(应用程序ID)的多个  .apk 文件。

应用程序包名称(应用程序ID)在 manifest(清单)元素的 package 属性中指定。该名称遵循 Java 命名约定,并且默认情况下,该名称与为应用程序实现的类所属的包的名称相同。

应用程序的名称(application 元素的 android:name 属性)和活动名称(activity元素的android:name属性)默认情况下是相对于应用程序ID进行指定的,并相应地指定为应用程序实现类的父 Java 包。但是,重命名应用程序 ID 不会导致重命名应用程序类的父 Java 包。

您可以通过重命名重构来更改应用程序ID ,也可以在构建时自动更改应用程序ID 。

通过重命名重构更改应用程序ID

package属性的值更改为新指定的值。但是,因为这不会导致重命名应用程序类的父 Java 包,所以应用程序和活动的相关名称将替换为完全限定名称。

  1. 打开AndroidManifest.xml文件。
  2. 将光标置于manifest元素的package属性处并从上下文菜单选择:Refactor | 重命名(Refactor | Rename)。
  3. 在打开的“重命名(Rename)”对话框中,指定新的软件包名称,然后单击“确定”。

在编译时重命名应用程序ID

  1. 通过从主菜单选择:文件| 项目结构(File | Project Structure)打开“项目结构(Project Structure)”对话框。
  2. 在左侧窗格中选择“模块(Modules)”。在中央窗格中,展开相关模块的节点并单击 Android。
  3. 在右侧窗格中,切换到“打包(Packaging)”选项卡,然后选择“重命名清单软件包(Rename manifest package)”选项。
使用库项目共享Android源代码和资源
IntelliJ IDEA:使用向导生成签名发布APK
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

IntelliJ IDEA的一般准则

什么是IntelliJ IDEA项目

使用IntelliJ IDEA的意图行为

IntelliJ IDEA使用运行/调试配置

特定于VCS的程序

IntelliJ IDEA语言和特定框架指南

IntelliJ IDEA的数据库和SQL功能

IntelliJ IDEA使用之JavaServer Faces(JSF)

IntelliJ IDEA:分析PHP应用程序的性能

IntelliJ IDEA:调试PHP应用程序

IntelliJ IDEA:适用于PHP的Google App Engine

IntelliJ IDEA更多内容

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }