我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android NoSuchFieldError解决办法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android NoSuchFieldError解决办法

Android NoSuchFieldError解决办法

前几天在开发的时候,把一个library搬到了一个新的工程中,然后在主应用模块中调用library的Activity,发现出现了NoSuchFieldError:

Android NoSuchFieldError解决办法

然而,查看代码明明是没有问题的,layout文件存在且id正确,R文件也正常。后来在StackOverFlow上找到了答案,原因是主应用模块和library里面的layout文件重名了,把其中一个名字改了就正常运行。后来写了个小demo重现了错误并分析了一下打包的apk:

主模块和library模块里新建相同名字的layout文件,但两者不同,如图所示

主模块的文件
Android NoSuchFieldError解决办法

library的文件
Android NoSuchFieldError解决办法

最后在打包生成的apk文件中,这个名字的layout文件只有一个,并且是主模块的layout文件:

Android NoSuchFieldError解决办法

另外,apk文件中的resources.arsc文件中的id确实没有library中定义的id

结论

Android的打包机制决定了不能有同名的layout文件,故只能避免模块之间文件的重名

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android NoSuchFieldError解决办法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android NoSuchFieldError解决办法

Android NoSuchFieldError解决办法前几天在开发的时候,把一个library搬到了一个新的工程中,然后在主应用模块中调用library的Activity,发现出现了NoSuchFieldError:然而,查看代码明明是没
2023-05-30

Android Caused by: java.lang.ClassNotFoundException解决办法

Android Caused by: java.lang.ClassNotFoundException解决办法 出现问题: 08-13 18:29:22.924: E/AndroidRuntime(1875): Caused by: Jav
2022-06-06

Android DaggerActivityComponent错误解决办法详解

Android DaggerActivityComponent错误解决办法详解 在使用dagger2的过程中,如果修改了某个类的内容,第一次编译运行时总会报错:错误: 找不到符号 符号: 类 DaggerActivityComponen
2023-05-31

Android BuildConfig不生成的解决办法

为了验证一些问题新建了一个demo,其依赖的AGP版本是8.0.0 但是在运行过程中报了一个错误就是找不到BuildConfig。 重新build了下代码,然后找编译后的代码,发现确实没有生成BuildConfig. 给我整的直接怀疑人生,
2023-08-17

Android TextView两端对齐解决办法

Android TextView两端对齐解决办法今天遇到一个关于TextView文字两端对齐其实方案,大家都知道原生控件是不能满足我们的需求的,因此需要自定义View 下面看下效果图package com.example.VerticalM
2023-05-31

Android 出现:java.lang.NoClassDefFoundError...错误解决办法

今天测试突然给我说我写的XX界面一点app就crash了! 纳尼,我肯定表示不服啊!怎么可能出现一点击就崩溃的情况呢,明明自己的测试了的! 然后我又用自己的测试机试了下没问题(Version:5.0.2),然后又使用crash的测试手机(V
2022-06-06

Android ListView出现异常解决办法

Android ListView 异常解决办法: ListView:The content of the adapter has changed but ListView did not receive a notification使用Li
2022-06-06

Android setTag方法的key问题解决办法

android在设计View类时,为了能储存一些辅助信息,设计一个一个setTag/getTag的方法。这让我想起在Winform设计中每个Control同样存在一个Tag。 今天要说的是我最近学习android遇见的setTag的坑。一般
2022-06-06

Android 手机无法连接mac解决办法

Android 手机无法连接mac解决办法 一般的android连接mac 很方便不用安装驱动就可以啦,可是不知道为什么二般情况下有的android手机(小米2,华为等)就是连接不上,下来就说说二般情况下如何连接。 1.关于本机-->更多信
2022-06-06

Android 调用notifyDataSetChanged方法失败解决办法

Android 调用notifyDataSetChanged方法失败解决办法如果使用ListView、GridView等进行数据展示,当绑定的数据有了更新的时候,需要实时刷新ListView,即调用Adapter的notifyDataSet
2023-05-30

Android Handler leak分析及解决办法详解

Android Handler leak 分析及解决办法 In Android, Handler classes should be static or leaks might occur, Messages enqueued on the
2022-06-06

Android getActivity()为空的问题解决办法

Android getActivity()为空的问题解决办法 在开发项目中有时会碰到getActivity函数为空的情况, 导致apk空指针崩溃问题, 看代码逻辑没有明显的原因。 如果看Activity.Java、Fr
2023-05-30

Android 兼容性问题:java.lang.UnsupportedOperationException解决办法

在前几天的开发中,遇到这么个非常奇葩的异常,有些手机可以运行,有些手机却直接就崩了,今天就把这异常整理下。 首先还是贴上其异常信息E/AndroidRuntime: FATAL EXCEPTION: main android.view.In
2022-06-04

Android中ScrollView嵌套GridView的解决办法

前些日子在开发中用到了需要ScrollView嵌套GridView的情况,由于这两款控件都自带滚动条,当他们碰到一起的时候便会出问题,即GridView会显示不全。 找到大家的通用解决办法。记录一下。 解决办法,自定义一个GridView控
2022-06-06

Android getBackground().setAlpha遇到问题解决办法

Android getBackground().setAlpha遇到问题解决办法 前言: 使用getBackground().setAlpha,导致其他布局背景透明度都改变的问题从晚上9点就开始琢磨,为什么我在一个地方设置了getBackg
2022-06-06

Android Studio default not found错误解决办法

Android Studio gradle 编译提示‘default not found' 解决办法 在导入studio工程的时候,进行sync的时候,提示Error:Configuration with name 'default' no
2022-06-06

Android 手机屏幕适配解决办法

0. 前言Android的屏幕适配,即使得某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果,这个问题一直以来都是我们Android开发者不得不面对的问题。本文参考了很多前人的博客,并对这一问题做一个总结,力求精简明了。
2022-06-06

Android setButtonDrawable()的兼容问题解决办法

Android setButtonDrawable()的兼容问题解决办法 setButtonDrawable()的兼容问题 API16实现/*** Set the background to a given Drawable, ident
2022-06-06

Android webveiw 出现栈错误解决办法

Android webveiw 出现栈错误解决办法前言:最近做一个项目,项目调试基础库的一个调试工具展示设备信息页面使用WebView。有一个应用集成调试基础库展示内容时出现java.lang.UnsupportedOperationExc
2023-05-30

Android SDK Manager无法更新问题解决办法

Android SDK Manager无法更新问题解决办法 最近玩ubuntu系统,以前Windows下下载的SDK文件不能用了,只能重新下载,安装完Eclipse和ADT插件,却发现无法更新SDK,显示为: Fetching https
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录