(笔记)Android Gradle applicationId

前言:在Eclipse时代是没有applicationId可言的,只有packageName,在Android Gradle构建系统出现了applicationId
简单区分:packageName在代码内使用;applicationId是程序唯一标识符。

applicationId的引用

  1. 在AndroidManifest里面可以直接用占位符引用
android:authorities="${applicationId}.provider"
  1. 在res的xml不能用占位符方式引用(或者谁知道可以的分享一下方法)
  2. 在gradle引用:只能在各个级别里面引用,不能跨界引用。
    如:
   defaultConfig {
        applicationId "com.king.zen"
    }

    productFlavors {
        //RX
        polaris {
            buildConfigField("String", "authority", "\"${applicationId}.provider\"")
        }

这样写是错误的,build完毕以后BuildConfig.java会是这样的:

public static final String authority = "null.provider";

正确写法是:

 defaultConfig {
        applicationId "com.king.zen"
    }

    productFlavors {
        //RX
        polaris {
            applicationId "com.king.zen.polaris"
            buildConfigField("String", "authority", "\"${applicationId}.provider\"")
        }

BuildConfig.java:

public static final String authority = "com.king.zen.polaris.provider";

你可能感兴趣的:((笔记)Android Gradle applicationId)