问题标签 [android-build-type]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何在 Android 库中设置构建类型和产品风格
在我的项目中添加了一个 Android 库模块后,该应用程序已停止与 API 通信,并且 Android Studio 完全冻结并且无法调试,因此没有错误消息。
我猜我在库中实现构建类型和产品风格的方式应该改变。
我正在尝试继续运行StagingDebug build variant
这就是我的应用程序 build.gradle 的样子
库只有构建类型
Library buildTypes 和 productflavors 应该如何更改为。
谢谢
R
编辑
android - 在 android R 中替换 BUILD_BROKEN_PHONY 和 phony-rebuild
我正在尝试构建 android R,但在内核 makefile kernel/exynos/AndroidKernel.mk:155 中出现以下错误:错误:写入只读目录:“/data/home/sumkumar/work/workspace/R/out/. ./out/target/product/**/obj/KERNEL_OBJ/arch/arm64/boot/Image” 这是在 Android Q 中通过使用标志“BUILD_BROKEN_PHONY_TARGETS=true”处理的,但在 R 中这是贬值的,因此不能使用相同的。
查看以下链接后,从 google 为 android R https://android.googlesource.com/platform/build/+/master/Changes.md#phony_targets更改虚假规则
我已通过删除错误路径中的“../”并过去之前的错误,如下更新了我的 Makefile,#KERNEL_OUT ?= $(if $(filter /% ~%,$(TARGET_OUT_INTERMEDIATES)),,$(realpath $(OUT_DIR))/../)$(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ KERNEL_OUT ?= $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ
但现在我收到错误重建错误,如下所述 kernel/exynos/AndroidKernel.mk:139:错误:真实文件“out/target/product/**/obj/KERNEL_OBJ/.config”取决于 PHONY 目标“假-rebuild" 14:21:04 ckati 失败:退出状态 1
我理解为虚假目标总是很脏,因此每个文件都将被重建,这取决于该虚假,但在我的情况下,这种重建是必需的。附上描述相同文件的快照
KERNEL_CONFIG := $(KERNEL_OUT)/.config
KERNEL_CONFIG := $(KERNEL_OUT)/.config
.PHONY:假重建
$(KERNEL_CONFIG): 假重建
请让我知道是否有任何方法可以避免使用 phony-rebuild 并用替代机制替换它。
问候,
android - 如何将特定变量添加到不同的调试和发布风格
一些帮助找到如何做到这一点:我想创建一些 resValue 仅用于 1 风味,这些 resvalue 必须根据 buildtype 不同(并且只是为了安全,如果我稍后添加 buildType 并忘记管理它会生成错误以我的口味)
谢谢
android - Gradle - 根据特定 productFlavor 的 buildType 添加 applicationIdSuffix
在Android(Java/Gradle/Android Studio)应用程序中,我试图为我的调试版本设置一个applicationIdSuffix(“.dev”),但仅限于特定的产品风格(比如说flavorA)。例如我想要的是:
我确实知道如何在 buildTypes 调试块中设置所有风格的 .dev 后缀,并且我已经通过循环设置了一些依赖于风格和 buildTypes 的 buildConfigField 值applicationVariants.all { variant -> () }
。我还没有设法使用这个循环来设置 applicationIdSuffix。
我也尝试productFlavors.flavorA.applicationIdSuffix ".dev"
在 debug buildType 块中添加,但由于某种原因,它也适用于发布版本——我觉得这很奇怪。
最后,
似乎也不起作用。
有什么办法可以得到我想要的行为?
android - Android 4.1 FLAVOR 和 BUILD_TYPE 问题
我更新到 Android Studio 4.1,构建变体选项卡变得不同。
它没有提供我的应用程序及其构建模块选择,而是复制了两次应用程序。
我并没有想太多,并在发布版本中运行了 Flavor A。令我惊讶的是,它运行带有调试版本的 Flavor B。
为了测试,我尝试禁用 Flavor B,删除 .idea 文件夹,与 gradle 同步,重建并运行它以最终运行 Flavor A。它在 1 次运行后又回到了味道 B,即使它没有不存在。
对于构建类型,更糟糕的是,我无法运行发布,无论我选择什么,它都只能运行调试。
当然我试过评论调试等等。无法运行释放。
有没有人遇到过同样的问题?关于如何解决这个问题的任何解决方案?
android - 为自定义构建类型(非调试)创建覆盖率报告不起作用
也许我遗漏了一些东西,但我找不到任何文档。我们有 3 种构建类型debug
,qa
和release
。该createDebugCoverageReport
任务工作正常,但createQaCoverageReport
任务没有。它完成了,但没有实际运行任何检测测试。我猜这是故意的,但有任何文档吗?
android-studio - android studio,如何跨多个构建变体共享类接口的不同实现
拥有一个具有几种不同构建类型的 android 应用程序:release, debug, amazon, facebook
. 和风味:staging, prod
和构建变体是:
stagingRelease, stagingDebug, stagingAmazon, stagingFacebook
,
prodRelease, prodDebug, prodAmazon, prodFacebook
,
还具有一个 optionalClass 接口,该接口具有仅用于暂存构建的真实代码实现,以及它的存根版本用于生产构建。
有一个 main\src\java\ someClass.java
(将用于所有变体构建),它将具有调用定义在OptionalVerifies
项目文件夹是:
所以构建类型共享的公共代码:release, debug, amazon, facebook
在文件夹中app/src/main/
。
现在,因为有一个OptionalVerifiesImpl.java
在用于暂存变体构建中具有真实代码doVerify(Context context)
,而另一个OptionalVerifiesImpl.java
只是存根,没有实现doVerify(Context context)
用于在 prod 变体构建中使用。
所以问题是:
OptionalVerifiesImpl.java
真正的实现应该放在哪里/哪个文件夹中?以及存根OptionalVerifiesImpl.java
应该放在哪里,以便在制作阶段变体时构建OptionalVerifiesImpl.java
带有代码实现的代码实现,而当制作产品变体构建存根时,OptionalVerifiesImpl.java
将构建其中的一个?
android - 为发布/调试 arm/x86 aar 库定义自定义构建类型
我有以下进口:
我希望我的应用程序能够在我选择 arm/x86 的平台上运行,基于我从 Android Studio 中选择的构建变体。
如何在 Gradle 中进行设置,以便能够为 x86 和 arm 进行 x86 调试构建或 arm 调试构建或发布构建。
我只有 2 个库来包括 mavapi-x86.aar 和 mavapi-arm.aar。是否可以将它们都包含在内并在两个平台 arm/x86 中正确运行?
android - 在android中的firebase上处理firestore的构建类型和productFlavors
我有一个 android 应用程序,我们在其中同时使用 buildType 和 productFlavors。目前我们有 3 种 buildType(QA、RC 和 Production)和 15 种不同的 productFlavor(com.companyname.employee.general、com.companyname.employee.domain1、com.companyname.employee.domain2.. 等)。我们根据具有唯一应用程序 ID(generalQa、generalRc、generalProduction、domain1Qa、domain1RC 等)的不同风格来分离不同的应用程序。
但是现在我们还没有在 firebase 上分离任何东西,并且在一个 singleProject 中接收每个 buildType 和 flavor 的所有数据(已经为不同的 Application ID 注册了不同的应用程序。主要是我们使用 firebase 进行分析和崩溃分析)。但是现在我们将使用 firestore,为此我想在我的 buildType 上将它分离出来,它可以支持所有的 buildFlavour。
谁能建议在android中执行此操作的最佳方法以及如何在android文件系统中构造它?
android - 基于构建类型生成 Javadoc?
我在 Android 库项目 (build.gradle) 中定义了一些构建类型:
而且,我们在同一个 build.gradle 中提供了 Javadoc 任务:
现在,我会从 Javadoc 中排除一些高级课程:
我想创建一个额外的 Gradle 任务,这将有助于保留上述排除的 class_name.java(用于高级构建)。
是否可以使用自定义 gradle 任务?