Small
Small copied to clipboard
百度地图sdk
- [x] 我已阅读并理解 贡献指南,严格遵循其约定。
错误报告
你做了什么?
我想在项目中加入百度地图定位功能,我将sdk放入宿主中,并在宿主的manifest文件中声明meta、Service,但出现 android:name="com.baidu.location.f"标红问题不能声明,我要如何正确集成百度地图?是拆成lib.xxx,还是直接放入宿主或分身中?
你期望的结果是什么?
实际结果是什么?
Small环境
Compile-time
gradle-small plugin : 1.0.0-alpha2 (project)
small aar : 1.1.0-beta5 (project)
gradle core : 2.10
android plugin : 2.0.0
OS : Mac OS X 10.12 (x86_64)
Bundles
| type | name | PP | file | size |
|---|---|---|---|---|
| host | app | |||
| app | app.main | 0x77 | *_main.so (x86) | 10.9 KB |
| app | app.mine | 0x16 | *_mine.so (x86) | 35.5 KB |
| app | app.detail | 0x67 | *_detail.so (x86) | 6.6 KB |
| app | app.home | 0x70 | *_home.so (x86) | 10.4 KB |
| lib | lib.afterutils | 0x45 | *_afterutils.so (x86) | 21.2 KB |
| lib | lib.analytics | 0x76 | *_analytics.so (x86) | 125.7 KB |
| lib | lib.utils | 0x73 | *_utils.so (x86) | 46 KB |
| lib | lib.style | 0x79 | *_style.so (x86) | 44.9 KB |
| web | web.about | *_about.so (x86) | 24.3 KB |
Runtime
Device : Samsung Nexus S
SDK : Android 7.0
ABI : armeabi-v7a
我的理解是把代码放到宿主或分身了是不会飘红的。
会飘红可能的一种情况是:在宿主或分身manifest进行了声明,而把相应的类代码放在了lib.*里,对宿主而言它认为manifest里声明的类没有实现,就飘红了。
这种飘红只是IDE在开发期间的一种警告,运行时其实是可以正常定位到指定类的。
所以一般接入第三方跟普通代码是一样的,除了非Activity组件需要放到宿主manifest声明外,其他代码、资源可以放在插件里。