首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android插件7 LibraryBuildType不再具有isDebuggable属性

Android插件7 LibraryBuildType不再具有isDebuggable属性
EN

Stack Overflow用户
提问于 2021-09-23 13:26:10
回答 3查看 727关注 0票数 4

我正在从Android 4.1.3升级到7.0.2。我注意到的一件事是,对于我的com.android.library模块,

代码语言:javascript
运行
复制
getByName("foo") {
  ...
}

现在有一个接收端类型的LibraryBuildType,而不是以前的BuildType。此LibraryBuildType不再具有isDebuggable属性,这是BuildType曾经拥有的属性。

官方android文档提到

如果您的应用程序依赖于您也想调试的库模块,则该库还必须与debuggable true一起打包,以便保留其调试符号。

很明显,这些文档已经过时了,但是是什么原因呢?库模块不再需要debuggable true吗?

我已经找到了LibraryBuildType,这表明它是在2020年4月左右添加的,但是我还没有在android gradle插件发布说明中找到有关这方面的任何信息

EN

回答 3

Stack Overflow用户

发布于 2022-01-02 02:55:37

根据我所发现的,LibraryTaskManager的源代码仍然使用buildType&productFlavor生成的libraryVariant.getDebuggable()。我不知道为什么debuggable / isDebuggable选项不能从LibraryBuildType中获得,但是如果有人在寻找解决办法,请使用下面的代码:

代码语言:javascript
运行
复制
// library's build.gradle.kts
buildTypes {
    named("debug") {
        (this as com.android.build.gradle.internal.dsl.BuildType).isDebuggable = false
    }
}
票数 1
EN

Stack Overflow用户

发布于 2021-12-07 02:18:56

我遇到了同样的问题,所以采用了另一种解决办法。

将initWith()与调试buildType一起使用,可以使新类型也可调试。

代码语言:javascript
运行
复制
    create("foo") {
        // Apply debug type setting by initWith()
        initWith(getByName("debug"))
    }

但是我认为Gradle kts应该添加可调试属性来构建类型。

票数 0
EN

Stack Overflow用户

发布于 2021-09-23 14:10:50

我认为为库删除该属性是有意义的,因为您应该在应用程序级别定义可调试。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69300956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档