当前位置: 首页 > 知识库问答 >
问题:

Android--如何获取Flavior的ApplicationId

桂高昂
2023-03-14
    productFlavors {
    free {
        applicationId "com.example.free"
        resValue "string", "app_name", "Free App"
        versionName "1.0-free"
    }
    paid {
        applicationId "com.example.paid"
        resValue "string", "app_name", "Paid App"
        versionName "1.0-paid"
    }
    if(whateverpackageid.equals("paid")) {
      // Do something or trigger some premium functionality.
    } 

共有1个答案

安毅
2023-03-14

我将在您的产品口味中使用构建配置变量。类似于:

productFlavors {
    free {
        applicationId "com.example.free"
        resValue "string", "app_name", "Free App"
        versionName "1.0-free"
        buildConfigField "boolean", "PAID_VERSION", "false"
    }
    paid {
        applicationId "com.example.paid"
        resValue "string", "app_name", "Paid App"
        versionName "1.0-paid"
        buildConfigField "boolean", "PAID_VERSION", "true"
    }
}

则在生成之后,您可以使用:

if (BuildConfig.PAID_VERSION) {
    // do paid version only stuff
}

在添加属性之后,您可能必须在gradle上执行同步/构建,然后才能编译和导入gradle代表您生成的BuildConfig类。

 类似资料:
  • 问题内容: 干杯,我正在尝试通过Android获取当前的GPS位置。我也遵循了这篇教程和Vogellas的文章。虽然没有用。使用LocationManager.NETWORK_PROVIDER时,无论我站在哪里,我总能得到51的纬度和9的经度。当使用LocationManager.GPS_PROVIDER时,我什么也没得到。 虽然使用GMaps时一切正常::S不知道为什么。如何像GMaps一样获取

  • 问题内容: 在我的Android应用程序中。我需要显示明天的日期,例如今天是3月5日,所以我需要显示3月6日。我知道获取今天日期,月份和年份的代码。 日期计算 如果我有代码 它会显示明天的日期。或仅将一个添加到今天的日期?例如,如果今天是1月31日。使用上面的代码,它将显示为1还是32?如果显示32,我需要进行哪些更改? 问题答案: 以获取今天的日期。 添加1天。 用于显示的格式。 例如,

  • 问题内容: 我有这样的网址: 如何获取章节和帖子的参数值​​? 我的URL在Chapter参数的值中包含“&”。 问题答案: 您可以在Android中使用Uri类来完成此操作; https://developer.android.com/reference/android/net/Uri.html 这样,您甚至可以从查询参数中获取特定元素;

  • 问题内容: 单击按钮时,我想从Android手机获取时区。 问题答案: 您是否尝试过使用: 大多数应用程序将使用 TimeZone.getDefault() ,它根据程序运行的时区返回TimeZone。 参考:http : //developer.android.com/reference/java/util/TimeZone.html

  • 问题内容: 只是一个简单的问题,如何获得指定目录内的目录列表。 例如, 现在,我需要获取“路径”目录中的目录列表。 谢谢! 问题答案: 诸如此类(添加null检查,异常等。)