所有环境特定的密钥,如服务器URL和SDK密钥,目前都保存在build.gradle
文件中。这样做的目的是使用构建类型
在开发环境和生产环境之间轻松切换。
我将Google Analytics添加到应用程序中,该应用程序通过包含跟踪器ID的res/xml/app_tracker.xml文件进行配置:
<代码>
如何将跟踪器ID移动到构建中。gradle
文件的构建类型
为每个环境定义不同的GA跟踪器ID?
我在build.gradle
中尝试过:
buildTypes {
release {
resValue "string", "GOOGLE_ANALYTICS_TRACKER_ID", "UA-12345678-9"
}
}
哪个自动生成xml文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Automatically generated file. DO NOT MODIFY -->
<!-- Values from build type: debug -->
<string name="GOOGLE_ANALYTICS_TRACKER_ID" translatable="false">UA-12345678-9</string>
</resources>
但是这在app\u跟踪器中似乎不起作用。xml
文件:
<string name="ga_trackingId" translatable="false">@string/GOOGLE_ANALYTICS_TRACKER_ID</string>
从你问的问题,你想为不同的环境维护多个跟踪器ID。
因此,不需要在构建中维护UA-XXX。gradle,我们需要在应用程序类中指定具有不同UA-XXX的多个xml文件
private static final String PROPERTY_ID = "UA-XXXXX-Y";
public enum TrackerName {
PROD_ENV_TRACKER, // Tracker used for Production Environment.
DEV_ENV_TRACKER, // Tracker used for Devlopment Environment.
STAGE_ENV_TRACKER, // Tracker used for Stage Environment.
}
HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();
public AnalyticsSampleApp() {
super();
}
synchronized Tracker getTracker(TrackerName trackerId) {
if (!mTrackers.containsKey(trackerId)) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
Tracker t = (trackerId == TrackerName.PROD_ENV_TRACKER) ? analytics.newTracker(PROPERTY_ID)
: (trackerId == TrackerName.DEV_ENV_TRACKER) ? analytics.newTracker(R.xml.dev_env_tracker)
: analytics.newTracker(R.xml.stage_env_tracker);
mTrackers.put(trackerId, t);
}
return mTrackers.get(trackerId);
}
}
我有一个生成物料清单(BOM)的项目。当我执行gradle build时,它生成一个空jar,只包含一个META-INF文件夹。 但是,我可以将pom(BOM)正确地发布到Nexus,同时还会产生上传空罐子的副作用。 根据 maven 插件文档 https://docs.gradle.org/current/userguide/maven_plugin.html 我们应该能够设置打包: 打包归档任
如何设置可从生成访问的全局变量。格雷德尔和任务?
本文向大家介绍android-gradle 如何在build.gradle中配置构建类型,包括了android-gradle 如何在build.gradle中配置构建类型的使用技巧和注意事项,需要的朋友参考一下 示例 您可以build.gradle在android {}块内的模块级文件中创建和配置构建类型。
问题内容: 使用jersey jersey.java.net当URI中没有接受标头或.xml后缀时,如何将JSON设置为默认序列化而不是XML? 问题答案: 您可以在@Produces批注中为每种媒体类型分配质量索引。如果可以同时允许XML和JSON,则可以执行以下操作以使Jersey偏爱JSON:
我是Vuforiaajawali的新手,我正在尝试从该站点构建和运行该示例。问题是当我使用命令时: C:/... /RajawaliVuforia/RajawaliVuforia/./gradlew干净程序集发布上传存档 ,我总是得到根项目RajawaliVuforia中找不到的错误任务“干净”。 如果可能的话,请帮忙! 谢谢