- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我见过操纵 gradle 构建任务的脚本,现在想知道是否可以在 `defaultConfig 之外设置一个字符串,但将其视为所有版本的默认值。
基本上我有多种口味,而且所有口味都有特定的 ApplicationId。我想使用该 id 来设置一个字符串资源,以便稍后在我的 java 代码中使用。
defaultConfig {
minSdkVersion 11
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
productFlavors {
one {
applicationId "com.my.app.one"
}
two {
applicationId "com.my.app.two"
}
}
我想设置这样一个字符串:
resValue "string", "authority", applicationId + ".dataprovider"
我尝试过的:
defaultConfig
部分,applicationId 仍然是 null,因此我得到一个错误的字符串寻找替代方案。
附言我正在使用 Android Studio 0.8.12。
最佳答案
经过大量搜索,我设法找到了这个问题的答案。也许有人会发现这很有用。
productFlavors.all {
resValue "string", "authority", applicationId + ".dataprovider"
}
这个简单的代码 fragment 将一个字符串设置为所有风格之后它们的invidual变量已经设置。它有点像 defaultConfig
但又不完全是因为它是在 flavor block 之后执行的。
额外:
原来我什至可以设置 applicationId
!到目前为止,我的最终结果是:
def final String AUTHORITY = '.dataprovider'
productFlavors.all {
applicationId "com.my.app." + name
resValue "string", "authority", applicationId + AUTHORITY
buildConfigField "String", "AUTHORITY", "\""+applicationId + AUTHORITY+"\""
}
现在我可以通过 BuildConfig.AUTHORITY
和 @string/authority
获得每个 flavor 提供者的权限,我分别在 list 和类文件中使用它们:
<provider
android:name="com.my.app.DataProvider"
android:authorities="@string/authority"
android:exported="false" />
public class DataProvider extends ContentProvider {
public static final String PROVIDER = BuildConfig.AUTHORITY;
public static final Uri SEARCH_URI = Uri.parse("content://" + PROVIDER + "/search");
}
关于android - 在 gradle 中定义一个字符串,还使用特定于 flavor 的 applicationId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26527722/
我的 Android 仪器测试需要修改/清除应用程序数据,因此我希望它们使用单独的 applicationId,以便将私有(private)数据目录和共享首选项等内容分开。 在 Android d
我正在编写一个执行 hive 命令的 shell 脚本,将日志和输出信息写入两个单独的文件: hive -S -f pdr_extrator.sql 2> pdr_extrator_log.txt |
我已尝试修复此错误,但我不知道我的情况的主要问题是什么。 我收到的错误是关于添加依赖项或依赖项的版本如果有解决方案请帮助: 我的gradle文件: // Top-level build fil
我正在尝试运行这个简单的示例登录测试,但我总是遇到同样的问题:“applicationId”不能为空。我看过以前的问题,但没有人解决我的问题。提前致谢! 字符串.xml: FacebookShareT
我正在将 Hadoop 2.0 与 Cloudera 结合使用,并尝试使用 Java 程序来检查特定 Spark applicationID 是否正在运行并采取进一步的步骤。 我有触发特定 Spark
我们使用 install4j 创建了许多安装程序。现在我们的 DevOps 考虑重新组织应用程序 ID。今天它们都是由 IDE 创建的。但 DevOps 希望为他们提供结构。像这样的东西: Produ
我正在尝试为 Zendesk 库创建绑定(bind),但遇到了问题。 Zendesk Belvedere 库 (belvedere-1.0.2.1.aar) 在其 list 文件中包含一个文件提供程序
android { flavorDimensions 'app', 'region' productFlavors { app1 { dimen
大家好,我在哪里可以找到CertificateThumbprint和ApplicationId?我有租户 ID,但我不知道其余的。 谢谢。 $connectionName = "AzureRunAsC
大家好,我在哪里可以找到CertificateThumbprint和ApplicationId?我有租户 ID,但我不知道其余的。 谢谢。 $connectionName = "AzureRunAsC
我已经关注了连接到 facebook 的教程中的所有内容,但我仍然收到 applicationId cannot be null。 登录按钮: Android list :
这是我在 SO 中的第二个问题,我有一个关于 Fatal Main 错误的问题。在我问之前,我在 SO 中发现了一些其他问题,但我发现的是关于 Facebook 应用程序这是我的错误 java.lan
根据我在 msdn 上阅读的内容, 此属性返回应用程序的唯一标识符。但这究竟意味着什么? 它是在 IIS 上为该应用程序创建的一种 ID 吗? 或者它是在应用程序的不同 session 中生成的随机
将包名称与 applicationId 更改为最终 apk 之间有什么区别。 我知道在保留源代码方面有所不同,但可以说我得到了一些包名为 a.b.c.d 的应用程序。构建出来的apk文件会有什么不同
假设build.gradle中有applicationId com.example.application。此名称显示在“https://play.google.com/store/apps/deta
我修改了我的应用程序,因此我可以在单个移动设备上将调试和生产构建作为单独的应用程序: android { buildTypes { debug { applicationIdSuffi
我一直在按照以下教程将我的应用程序与 Facebook 集成。 Facebook tutorial 我已经按照教程中的所有内容进行了操作,但是在两种情况下我得到了 applicationId cann
在 Windows 7 中,我们有 ApplicationID 的概念,它允许(除其他外)将任务栏中的多个图标分组。如何从 C# 更改正在运行的进程的 ApplicationID?我正在尝试使用另一个
我已经从 Ant 脚本转移到 gradle 构建脚本。但我不知道有什么方法可以在 gradle 构建脚本中获取包名称或 applicationId。 最佳答案 project.afterEvaluat
我有一个具有 2 个 flavor 维度的应用程序。第一个维度,我们称之为“品牌”,有两种类型:“草莓”、“青色” 两者都有不同的 applicationIds,但我们可以只关注其中一个。假设“cya
我是一名优秀的程序员,十分优秀!