有熟悉安卓productFlavors功能的吗?想把地图功能独立开,是否能做到?

WvW 2021-03-05 11:49:07
应用有个地图功能,用的人很少,想单独很2个版本,不然更新时,尺寸很大。

百度地图功能,涉及到
AndroidManifest.xml 文件定义key
layout 定义了控件
java源代码里面定义了 import
build.gradle 定义了 implementation files('src/main/jniLibs/BaiduLBS_Android.jar')


=========================================
productFlavors 简单的隔离2份java layout会用, 但是无法将:
build.gradle 和 import 隔离开。

【build.gradle】
BaiduImplementation files('src/Baidu/jniLibs/BaiduLBS_Android.jar')
好像有点点问题,找不到原因。

【对于import 和 layout问题】
我不想做成2个java或者layout文件, 不利于更新。
如果是VC++,可以用预编译指令
#ifdef
#endif
这样子屏蔽掉。安卓如何做到呢?

...全文
560 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
王能 2021-03-16
  • 打赏
  • 举报
回复
你可以把地图当做附加功能来做 首先地图主要是so文件太大,jar、代码、资源打包进去本身也打大不了多少。当要打开地图时,你先判断有没有下载so,如果没有提示下载并引用,如果有打开地图
Nico 2021-03-15
  • 打赏
  • 举报
回复
build.gradle 好弄,自己写个gradle 文件,定义个变量
依赖时候,通过变量 if else 来 判断。

import 比较麻烦,可以不要import了,直接反射调用。
追风筝的孩子 2021-03-10
  • 打赏
  • 举报
回复
首先你得把用到的类二次封装一层,一个是空实现,一个是真实现

80,492

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧