问题标签 [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.

0 投票
0 回答
193 浏览

android - 每个 buildTypes 的不同 apk 名称

我需要获取与使用“运行'app'”按钮生成的文件名不同的文件的发布名称。但是如果我添加archivesBaseNamebuildTypesreleasedebug,那么这两个文件名都是从较低的 buildTypes 获得的——在下面的代码中是一个release.

是Android Studio的一些错误还是我做错了什么?

0 投票
3 回答
177 浏览

android - 更新到 com.google.gms:google-services:3.0.0 后出现 gradle 异常

昨天,我将我的 google services gradle 插件更新为:

之后,我的devDebug风味构建中出现以下错误:

以下是我的应用级别build.gradle文件的相关部分:

此错误不会出现在我的prodRelease产品风味构建中。我该如何解决?

0 投票
2 回答
253 浏览

android - 具有不同构建类型的同名类

我的android程序上有类utility.java,其中类函数连接到链接API。一切都完成了。但现在我想为不同的链接 API 使用 Build Types Debug 和 Relase。我知道为每个资产使用构建类型,但是我可以为每个 java 类做同样的事情吗?我需要你的帮助。谢谢。

0 投票
1 回答
980 浏览

android - 添加不同的proguard文件进行调试

我有一个包含两个模块的项目。它存在 build.gradle 的默认配置:

我想为调试编译添加不同的配置(proguard 和 minifying),如下所示:

当我将此代码放入我的项目时,它不会编译。日志显示对另一个模块的每个引用的消息错误:

两个模块的完整 Gradle 配置。

应用模块:

库模块:

0 投票
0 回答
217 浏览

android - Android Product Flavours Release Build NoClassFound

我已经创建了具有 37 种产品风格的应用程序,所有这些产品都具有调试和发布两种构建类型。当我为单一风格应用程序崩溃生成签名 APK 时遇到问题,并出现以下错误。

请注意,当我在调试风格时,它们不会像这样崩溃,并且应用程序运行得非常好。我有一个需要由所有口味共享的主包。

在应用程序级别的 build.gradle 文件中,我正在为每个风味定义源集,如下所示

请帮助我,为什么 ClassNotFoundException 仅适用于活动的发布版本,而不是调试版本类型,并提出解决方案。谢谢

0 投票
0 回答
1410 浏览

android - Android gradle - 不同buildType的不同版本代码

我们有一个应用程序,它具有 3 种构建类型(alpha、beta、release)和几种产品风格,这些产品风格取决于应用程序部署所在的国家/地区。

我正在尝试自动化我们的 gradle 任务,但我不知道如何在不同的 buildTypes 之间更改版本代码。这个想法是让版本代码采用“major.minor.patch.”的形式。

我当前的 gradle 默认配置如下所示:

我试图更改特定 buildType 中的 versionCode,但这是不可能的,因为 buildTypes 不包含此字段。

我收到错误“错误:无法为 com.android.build.gradle.internal.api.ApplicationVariantImpl 类型的对象设置只读属性 'versionCode' 的值。” 对于以下功能:

我不知道如何解决这个问题。我显然不能使用不同的风味,因为我们已经使用风味来指定国家/地区。PS:我知道Use different VersionCode for Debug/Release android gradle build,但他们正在改变版本代码。

0 投票
1 回答
1146 浏览

android - Android - 从 buildType 和 flavor 的组合中生成所有可能的 .apks

我们有一个应用程序,它具有 3 种不同的构建类型(alpha、beta、release)和不同的风格(英国、美国......),具体取决于部署的国家/地区。

不是手动编译 buildType 和 flavor 的每个组合,而是有一个 Gradle 任务来一次生成它们(uk-alpha,uk-beta,uk-release,usa-alpha,usa-beta,usa-release,... )?

编辑:Gradle 文件(没有库)

0 投票
0 回答
269 浏览

android - 每种风格和 BuildType 配置的资源相互覆盖

我有几种风格,我想为每个 buildType 配置特定的资源。

如果只有一种风味,则以下配置可以完美运行,android可以按预期识别资源目录 src/flavor1/res 和 src/flavor1/::buildType::/res:

但是,如果我添加了多个风格,则定义的最后一个风格的资源目录是唯一可识别的,无论当前在 Android Studio 中选择了哪种变体:

在上面的配置中,当我选择flavor1Debug时,例如以下目录被识别为资源目录:

我错过了什么?

0 投票
1 回答
867 浏览

android - Android buildTypes 多种调试模式

我有三种构建类型,我试图让staging构建类型运行,但出现以下错误:

错误:您当前选择的变体 (app-staging-unsigned.apk) 的 apk 未签名。请为变体(暂存)指定签名配置。

有没有办法让我在staging不签名的情况下运行,就像第二次调试一样?

0 投票
1 回答
589 浏览

android - Alpha 版和 Beta 版的 Firebase 崩溃报告

我正在完成我的第一个 Android 应用程序,但我想从 Playstore 中的 Alpha 和 Beta 测试开始。这就是我的firebase设置

  • 1个火力基地项目:
    • 4 个 Firebase 安卓应用:
      • 1 包名称为 com.myapp.appname.alpha
      • 1 包名称为 com.myapp.appname.beta
      • 1 包名称为 com.myapp.appname
      • 1 包名称为 com.myapp.appname.dev

我已经这样做了,所以发布和开发崩溃报告是分开的。我想,我对 alpha 和 beta 做同样的事情。但显然我不能上传带有不同包名的 alpha & beta & release 这些是我的构建类型。

在我看到这不起作用之后,我尝试改变一些东西来识别不同的构建类型。(这个字符串包名仅供参考)(仍然没有解决我的问题)

所以我的问题是如何在另一个 Firebase Android 应用程序中接收 alpha 和 beta 构建类型的崩溃报告?

我的解决方案 ATM

在@Doug Stevenson 给我的信息之后。我想出了一种方法来处理 alpha、beta、release 和 dev build。

1 个 Firebase 项目,用于:

  • 1 Android for Release、Beta、Alpha

1 个 Firebase 项目,用于:

  • 开发安卓应用

现在,我仍然会在 1 份报告中获得所有 alpha、beta、release 的崩溃,因为 playstore 不支持多个包名,并且 firebase 不支持任何其他注册您的应用程序的方式。所以我做了两件事来确定崩溃出现的版本。

No 1: 我给每个productflavor另一个版本后缀。和一个额外的字符串 app_version

否 2: 我为开发应用程序添加了 applicationIdSuffix(见上文)。这样我可以创建另一个具有唯一包名的 firebase 项目。所以我的开发数据和产品数据是分开的。

否 3: 我在应用程序启动时编写了我的应用程序以初始化日志,所以如果发生某些事情,这是我在 firebase 崩溃报告 logcat 中看到的最后一个日志。