Closed LeonWu6 closed 2 months ago
这个问题同样复现了 能给解决一下吗?
基于sample提供最小改动的复现代码,我可以一起看看原因。
git@github.com:totallyScum/plugin-project-demo-1.git 基于maven工程创建了插件的复现代码 现在发现只要开启additionalParameters "--package-id", "0x80", "--allow-reserved-package-id" 就会出现NPE问题
git@github.com:totallyScum/plugin-project-demo-1.git 基于maven工程创建了插件的复现代码 现在发现只要开启additionalParameters "--package-id", "0x80", "--allow-reserved-package-id" 就会出现NPE问题
你完全新建个仓库,看不出你改了什么。你得fork一下,然后添加一些可以复现问题的改动。比如像这样https://github.com/Tencent/Shadow/compare/master...AndroidMuggle:Shadow:test_reflection_android_muggle
git@github.com:totallyScum/plugin-project-demo-1.git 基于maven工程创建了插件的复现代码 现在发现只要开启additionalParameters "--package-id", "0x80", "--allow-reserved-package-id" 就会出现NPE问题
你完全新建个仓库,看不出你改了什么。你得fork一下,然后添加一些可以复现问题的改动。比如像这样master...AndroidMuggle:Shadow:test_reflection_android_muggle
基本没任何改变 就是打开了databinding 然后xml里面写了个textview 再修改报名id,普通应用package-id改变后,也无法使用databinding直接调用控件的形式
问题已经解决,plugin设置package-id大于0x7f的原因,设置过大导致int类型溢出 view绑定出问题
这可能是跟 Shadow 框架不相关的异常,但由于研究多天找不到原因,跑来此论坛请教大佬!
问题描述: 我应用是导入 shadow 框架插件化改造过的应用。 在宿主 app 和 插件 app 分别都使能 dataBinding,但出现了在插件 app 无法使用 binding对象调用 layout上控件的异常。
我的工程目录:
在所有 moudle 中使能 dataBinding和viewBinding
android { buildFeatures { viewBinding true dataBinding true } }
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" >
override fun onCreate(p0: Bundle?) { super.onCreate(p0) mLogger.debug("onCreate") mBinding = DataBindingUtil.setContentView(this, R.layout.activity_test) if (mBinding.testTv == null) { // mBinding.testTv 不会等于空 mLogger.error("onCreate mBinding.testTv == null") } else { mLogger.debug("onCreate mBinding.testTv != null") } if (mBinding.testBt == null) { // mBinding.testBt 等于空,无法用mBinding获得button控件 mLogger.error("onCreate mBinding.testBt == null") } else { mLogger.debug("onCreate mBinding.testBt != null") } }
D onCreate D onCreate mBinding.testTv != null E onCreate mBinding.testBt == null