首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Fragment找不到资源Id引起的线上Crash

一、问题起因线上报了较多Fragment资源id找不到的Crash。...再结合业务代码看:图片图片该Fragment没有其他逻辑,布局也很简单,按道理,不应该存在资源找不到的情况。。。自此基本没法分析问题出现的场景以及根因。...R.id.fl_settings_container,而Crash的直接堆栈就是报这个id找不到,所以这里可以大胆猜测发生了SettingsFragment替换了AboutContainerFragment...R.id.fl_settings_container,而Crash的直接堆栈报fl_about_container找不到,这个fl_about_container对应的是AboutFragment replace...的AboutContainerFragment的布局容器id,如果fl_settings_container被SettingsFragment替换了,那么这里有可能导致AboutFragment找不到AboutContainerFragment

98140
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    开发Gradle插件并上传至本地maven库

    Gradle插件是什么 我们初创一个Android项目,其中每个module的build.gradle文件顶部有这样一行代码: apply plugin:'com.android.application...' 这里com.android.application就是一个gradle插件,它用来编译Android项目,因为原生的gradle并不是用来构建android项目的,因此谷歌实现了一个构建android...'groovy' id 'idea' id 'maven' id 'maven-publish' //该插件可以将打包的jar发送到maven库 } repositories...其中配置文件的红色部分就是该插件的id,上面介绍的Android Plugin的id是"com.android.application",其内容如下: implementation-class=com.xingfeng.FirstPlugin...总结 这里介绍的是一个开发流程,gradle插件开发目录需要遵守,不然就算上传成功了,使用插件的项目有可能会找不到plugin id的,比如说配置文件的目录结构错了,就会发生这种情况。

    3K60

    【Android Gradle 插件】Android Studio 工程 Gradle 构建流程 ② ( settings.gradle 构建脚本分析 | 根目录下 build.gradle 分析 )

    【Android Gradle 插件】Android 依赖管理 ② ( 为工程配置依赖仓库 | 为工程构建添加依赖仓库 | classpath 引入依赖库 | 配置依赖仓库 ) 博客中的配置 , pluginManagement...false id 'org.jetbrains.kotlin.android' version '1.7.20' apply false } 在 plugins 中使用 id 'com.android.application...' version '7.3.1' apply false 配置 Gradle 插件 , 下面分析每个配置的含义 : 引入 com.android.application 插件 , version '7.3.1..., 没有其它含义 ; 如 : 在 Module 子项目中 , 有如下配置 : plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android...' } 则会立刻应用 com.android.application 和 org.jetbrains.kotlin.android Gradle 插件 , 此处就不会有插件版本了 ; 在之前的 build.gradle

    2K01

    【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( plugins 闭包代码块中引入插件 | PluginAware#apply 方法引入插件 )

    在 Module 目录下的 build.gradle 中 , 首先引入插件 : plugins { id 'com.android.application' } 此处调用了 PluginDependenciesSpec...中的 id 方法 , 方法原型如下 , 该 id 方法 , 接收一个 String 参数 , 在闭包中配置要引入的插件 ; id 方法原型 : /** * 用于声明要在脚本中使用的插件的DSL。...* * @param id 要依赖的插件的id * @return 一个可变插件依赖项规范,可用于进一步细化依赖项 */ PluginDependencySpec...id(String id); } 闭包中配置插件的格式为 id 插件名称 id 'com.android.application' 2、PluginAware#apply 方法引入插件 还有一种引入插件的方式就是使用...apply plugin: 'com.android.application' 代码 , 调用的是 PluginAware 接口的 apply 方法 , 传入一个 Map 集合作为参数 ; public

    65030

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ② ( 组件化基本实现 | Project 相关目录 | 定义组件切换标志位 | 切换插件导入 | 切换设置应用 ID )

    文章目录 一、Project 中可获取的目录 二、定义模块化与组件化切换标志位 三、切换插件导入 四、切换设置应用 ID 在上一篇博客 【Android Gradle 插件】组件化中的 Gradle...---- 在模块下的 build.gradle 构建脚本 中 , 默认的 " Phone & Tablet " 类型的 Module 模块 的插件导入配置为 : plugins { id 'com.android.application...Library " 类型的 Module 模块 ; 在 组件化模式 中 , 需要导入 com.android.application 插件 , 模块作为 可执行应用 使用 , 是 " Phone &...应用模块, * 此时, isModuleDebug 设置为 true. ( 单独运行 ) * 组件化导入 com.android.application 插件...build.gradle 构建脚本 完整代码示例 : /*plugins { id 'com.android.application' id 'kotlin-android' }*/

    1.1K20

    【Android Gradle 插件】组件化中的 Gradle 构建脚本实现 ⑤ ( 优化 Gradle 构建脚本 | 构建脚本结构 | 闭包定义及用法 | 依赖配置 | android 块配置 )

    】组件化中的 Gradle 构建脚本实现 ② ( 组件化基本实现 | Project 相关目录 | 定义组件切换标志位 | 切换插件导入 | 切换设置应用 ID ) 博客中实现了 模块化 与 组件化...) { // 组件化模式下 , 应用 ID 设置为 applicationId + 模块名称 applicationId...) { // 组件化模式下 , 应用 ID 设置为 applicationId + 模块名称 applicationId...; 应用设置中 , 导入的是 ‘com.android.application’ 插件 ; /** * 定义闭包 , 传入一个 project 参数 * 闭包作用是导入 可执行应用...) { // 组件化模式下 , 应用 ID 设置为 applicationId + 模块名称 applicationId

    1.4K21

    【Android Gradle 插件】Extension 扩展类型 ( Module 引入插件类型 | application 插件 | library 插件 | Variants 变体列表 )

    文章目录 一、Module 引入插件类型 1、com.android.application 插件 2、com.android.library 插件 二、Extension 扩展类型 三、applicationVariants...---- 1、com.android.application 插件 ① 引入 com.android.application 插件 , 也就是说该应用是可执行应用 ; 创建应用时 , 选择是 " Phone...& Tablet " 类型的 Module ; 在 build.gradle 中配置引入的插件 : plugins { id 'com.android.application' }..." 类型的 Module ; 在 build.gradle 中配置引入的插件 : plugins { id 'com.android.library' } 二、Extension 扩展类型...” 就是定义的几个扩展类型的文档链接 ; AppExtension 是引入了 com.android.application 插件的工程的扩展 ; 文档地址 https://google.github.io

    76430

    Typecho插件 - 为你的文章生成海报

    灵感起源 其实写这个插件的初衷还是因为——我没钱!没错,就是我没钱。其实最早是在Typecho爱好者博客里面看到的。当时感觉这个插件的确不错,我很喜欢。...2.生成海报后保存到插件目录下的poster文件夹,节省第二次生成时间。 3.使用必应每日一图作为头图,每天的文章都有不同的新鲜感。 4.支持自定义按钮样式,方便同一主题样式,不会突兀。...5.推荐使用Cuckoo主题 插件售价 本插件不要998,也不要888,只要...其实插件是免费的。...-03-19临时更新 为防止插件被别有用心的人收费,特加入鉴权机制,需要申请token之后才可以使用(免费哒) 增加模态框展示海报,直接下载太丑了 再再再次修复无法在pjax主题中使用 自定义按钮样式不再是...- 为你的文章生成海报》为博主MoLeft原创,转载请注明原文链接为:https://moleft.cn/post-53.html

    68940

    EasyDSS视频回看列表显示为ID的排查与优化

    视频直播点播EasyDSS平台具备灵活的视频能力,包括直播、点播、转码、管理、录像、检索、时移回看等,平台支持音视频采集、视频推拉流、播放H.265编码视频、存储、分发等能力服务,可应用在无人机推流、在线直播...有用户反馈,在EasyDSS视频回看列表中,“名称”显示为“ID”,请求我们排查与解决。...查看接口返回,name字段返回实际是ID值,如下图:由此判断出,该问题是后端返回数据导致,排查后端代码,在更新视频回看列表时,将id更新到name字段。...参考如下代码,将其改正即可:EasyDSS平台可支持用户自行上传视频文件,也可将上传的点播文件作为虚拟直播进行播放。...平台能支持多屏播放,可兼容Windows、Android、iOS、Mac等操作系统,还能支持CDN转推,具备较强的可拓展性与灵活性。

    16220
    领券