本文内容主要来源:Gradle for Android (中文版)、CSDN博客

Gradle 被用作默认的 Android 构建系统之前,PackageName 的主要作用有两个:

<?xml version="1.0" encoding="utf-8"?>
  • 作为应用的唯一标志和进程ID
  • R 资源及四大组件中被用作包名

Gradle 被用作默认的 Android构建系统之后,一些就发生了改变:

apply plugin: 'com.android.application'android {    compileSdkVersion 19    buildToolsVersion "19.1"    defaultConfig {        applicationId "com.example.my.app"        minSdkVersion 15        targetSdkVersion 19        versionCode 1        versionName "1.0"    }

AppliactionIdPackageName的分工:

  • applicationId负责 App 的唯一标示进程 ID
  • package name 负责 R 的包名以及 Manifest 中 Activity 等四大组件的相对包名

当我们在同一设备安装同一 App 的不同版本时,ApplicationId 可以很好的实现这一需求:

不同的 flavor 或者 build type 可以拥有不同的 application id,也就是不同的进程 id。

productFlavors {    pro {        applicationId = "com.example.my.pkg.pro"    }    free {        applicationId = "com.example.my.pkg.free"    }}buildTypes {    debug {        applicationIdSuffix ".debug"    }}

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

更多相关文章

  1. 《Android/OPhone 开发完全讲义》已出版,现提供源代码下载
  2. Android笔试的一部分知识点
  3. Android组件化导致的代码不生效
  4. Android四大组件之 服务Service
  5. android 手机开发( 什么是intent)
  6. Android(安卓)ActivitiyThread的建立
  7. android开发环境
  8. Android进程注入
  9. 第二章 Android内核和驱动程序(转)

随机推荐

  1. Android中Sqlite使用初步
  2. Android(安卓)Studio使用心得 - 常见问题
  3. Android(安卓)权限设置大全
  4. 第一章节 android知识准备
  5. Android(安卓)网络通讯、通信
  6. Linux 环境下安装 GitLab 与配置
  7. Android中的ShapeDrawable的一个注意点
  8. [Android]替换系统的Lock Screen
  9. android中获取项目的版本信息
  10. Android(安卓)Training Caching Bitmaps