android 插件开发遇到的坑

今天遇到一个坑,pdf 插件,调用了主工程的一个静态final 字符串,但是主工程里面已经没有这个字符串了,却没有崩溃。

后来同事说,因为字符串可能已经直接被写死了。你应该看下编译后的代码。我一同事,反编译apk 之后,发现,果然,因为provide 的jar 里面是有这个final 的字符串的,java 编译的时候,直接用死的值替换掉了。这样,根本就没有去调用主工程的那个变量。

总结:
1.provide 的 jar,不一定完全没有作用。final的变量,编译器直接写死了。
2.看java 代码解决不了问题,那就看编译之后的代码,你就知道为什么了。
3.机器永远不会做错,只能是你理解错了。

自己对java 编译还是不够理解。自己对java 还有很多其他的东西,根本不懂。比如编译过程。等。

插件开发遇到的坑------final 型变量,编译过程被优化相关推荐

  1. 为什么一些人喜欢在java代码中能加final的变量都加上final

    我记得第一次看到这种写法是在看慕课网的课程,毕竟是小白,我记得当时我对于android并不是感觉很清晰,虽然现在也好不了多少.那时候我已经读过了闫博士的<java与模式>一书,如果人名记错 ...

  2. TrinityCore3.3.5编译过程-官方指导-踩坑总结

    TrinityCore3.3.5编译过程-官方指导-踩坑总结 官方指导:主页->how to compile -> windows 指导文档写得很详细,但有不少细节点没提到,这里把过程简化 ...

  3. JAVA之private修饰成员方法默认是final型的?

    Java之private修饰成员方法默认是final型的? private修饰的成员方法默认是final型的? 用fianl声明的成员方法是最终方法,最终方法不能被子类覆盖(重写) 从表面上看这个命题 ...

  4. java 线程参数 用final,JAVA 关于final修饰变量参数

    很多人都说在JAVA中用final来修饰方法参数的原因是防止方法参数在调用时被篡改,其实也就是这个原因,但理解起来可能会有歧义,我们需要注意的是,在final修饰的方法参数中,如果修饰的是基本类型,那 ...

  5. gitea 手动编译过程,以及踩坑记录

    gitea 手动编译过程,以及踩坑记录 一: 环境介绍 二:下载源码 三:编译安装go 环境 3.1 修改源为阿里 3.2 添加执行权限 3.2 添加环境变量 四:安装nodejs 4.1 添加源 4 ...

  6. 定义bool型变量出现 ”identifier “bool” is undefined”错误

    bool表示布尔型变量,也就是逻辑型变量. bool类似于其他的基本数据类型,他和char字符型变量一样,有1个字节. 但是bool变量和char变量不一样的地方是,同样是一个字节的变量,bool只有 ...

  7. int型变量占多少个字节?

    引自 http://topic.csdn.net/t/20010521/10/128376.html int型变量有时候占4个字节(在Win32),有时候占2个字节(在DOS)   这个int类型的大 ...

  8. Java之final修饰变量

    final修饰的实例变量 被final修饰的实例变量必须显示指定初始值,而且只能在如下3个位置指定初始值: 1.定义final实例变量时指定初始值: 2.在非静态初始化块中为final实例变量指定初始 ...

  9. 定制化ROM采坑之路(1):魔趣8.1版本源码下载和编译过程

    前言 记得当年刚接触Android的时候,就看有关老罗的文章倒是让我的安卓内功提升不少,但是由于工作都是停留在应用层的缘故,我几乎对这块并没有深入研究,最近公司的新产品对Framework层的开发有所 ...

最新文章

  1. SpringBoot第六篇:springboot整合mybatis
  2. 备战618,京东如何保障系统稳定性?
  3. linux下c语言tcp文件传输,C语言实现TCP通信
  4. Mpvue+koa开发微信小程序——腾讯云开发环境的搭建及部署实现真机测试
  5. How to get user parameter settings
  6. Android之二维码生成和识别
  7. 计算机系统集成难点,企业MES实施中存在的难点及建议
  8. 中标麒麟服务器中安装达梦数据库(DM7)的具体步骤
  9. 文本挖掘学习笔记(二):文档信息向量化与主题关键词提取
  10. 服务器启动成功网页无法访问,apache启动后无法访问网页的解决方法
  11. java学习笔记(22)java输入标签,单选框,复选框,添加文件,文本域,下拉框
  12. 你知道甲醛的危害有多大吗?
  13. 微信小程序+PHP 从零写一个微信小程序
  14. 【开发教程3】AI语音人脸识别(会议记录仪/人脸打卡机)-CC3200简介
  15. 电影-满城尽带黄金甲
  16. PCIe 均衡技术介绍(电气物理篇)
  17. Hive学习笔记(4)—— hive练习
  18. 亲临武汉引航CCIE造假事件
  19. Java 反射 - 指南
  20. VUE之状态管理(VUEX)

热门文章

  1. C#调用C/C++动态库Dll时几个注意事项:PInvoke错误
  2. nginx php 错误日志,PHP 错误与异常的日志记录
  3. openssh windows_WINDOWS环境配置SSH服务
  4. python连接opencv库_python环境下安装opencv库的方法
  5. 记录一下python-opencv-ArUco-Apriltag
  6. 解析列表中的数据python_将html数据解析成python列表进行操作
  7. jmeter操作数据库
  8. mongo explain分析详解
  9. 微信搜索谁把你删除了
  10. Android 动态生成 EditTest