主项目 A (APK) 依赖于子项目 B (AAR)。A 和 B 都依赖于 C (AAR)。问题是 C 包含两次,这导致:
“values.xml:XXX:错误:属性“YYY”已被定义”
如何从最终 APK 中排除瞬态依赖 C?
项目一:
android_binary (
deps = [
':src',
], ...
)
android_library(
name = 'src',
deps = [
':C',
'//B:src',
'//B:res',
], ...
}
android_resource(
name = 'res',
res = 'src/main/res', ...
}
子项目B
android_aar (
deps = [
':src',
':res'
], ...
)
android_library(
name = 'src',
deps = [
':res',
':C'
], ...
)
android_resource(
name = 'res',
deps = [
':C'
], ...
)
C 是“appcompat-v7.aar”。
注意:A 在“A/libs”中包含 C,B 在“B/libs”中包含 C。