(笔记)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";
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容