Small icon indicating copy to clipboard operation
Small copied to clipboard

百度地图sdk

Open wangjiujiu opened this issue 8 years ago • 1 comments

  • [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

wangjiujiu avatar Oct 23 '17 02:10 wangjiujiu

我的理解是把代码放到宿主或分身了是不会飘红的。

会飘红可能的一种情况是:在宿主或分身manifest进行了声明,而把相应的类代码放在了lib.*里,对宿主而言它认为manifest里声明的类没有实现,就飘红了。

这种飘红只是IDE在开发期间的一种警告,运行时其实是可以正常定位到指定类的。

所以一般接入第三方跟普通代码是一样的,除了非Activity组件需要放到宿主manifest声明外,其他代码、资源可以放在插件里。

galenlin avatar Oct 26 '17 14:10 galenlin