wequick / Small

A small framework to split app into small parts
http://code.wequick.net/Small
Apache License 2.0
5.05k stars 1.11k forks source link

app插件中的id无法和lib插件重复 #604

Closed iamyours closed 4 years ago

iamyours commented 5 years ago

错误报告

java.lang.NoSuchFieldError: com.xxx.xxx.R$id.tv_cancel

你做了什么?

在lib.common插件中定义了相同的id,在app.news插件的布局xml中就不能使用该id,只有重命名id才可以使用

你期望的结果是什么?

在lib中使用的id,可以在app插件布局也可以使用相同id

实际结果是什么?

不能和lib中的id重复,否则在运行时报NoSuchFieldError

Small环境

Compile-time

  gradle-small plugin : 1.5.0-beta2 (project)
            small aar : 1.5.0-beta2 (maven)
          gradle core : 4.4
       android plugin : 2.3.0
                   OS : Mac OS X 10.14.2 (x86_64)

Bundles

type name PP sdk aapt support file(armeabi) size
host app 27 27.0.3 27.1.1
app app.main 0x77 27 27.0.3 *_main.so 13.4 KB
app app.news 0x42 27 27.0.3 27.1.1 *_news.so 128.2 KB
lib lib.dependencies 0x49 27 27.0.3 27.1.1 *_dependencies.so 2 MB
lib lib.chart 0x5b 27 27.0.3 27.1.1 *_charting.so 157.8 KB
lib lib.common 0x20 27 27.0.3 27.1.1 *_common.so 10.3 MB

Runtime

  Device : Xiaomi
     SDK : Android 7.0
     ABI : armeabi-v7a
iamyours commented 5 years ago

已解决,见https://github.com/iamyours/SmallTest