3***@qq.com
3***@qq.com
  • 发布:2020-01-15 13:35
  • 更新:2020-01-17 12:13
  • 阅读:1723

android uni插件打包时如何往app buildgradle里添加 manifestPlaceholders, package.json里有设置该属性的节点?

分类:uni-app

使用情景是这样的,由于引入了第三方jar包,人家打包的时候manifest 里有动态配置参数,需要在主module里manifestPlaceholders 里设置,离线打包没问题,但是做成插件提交云端打包就没法设置,打包会卡在合并manifest失败。
请问package.json 是否有节点可以设置主module的buildgradle的manifestPlaceholders.

举个例子
module里需要应用应用的包名,使用${PKG_NAME}
需要在app的build.gradle 里添加
manifestPlaceholders = [
PKG_NAME: applicationId,
]
离线打包可以自己设置
使用云打包如何做到?

解决方法如下:
原来jar包里确实没有manifest配置的,因为我不是很熟悉原生开发,不知道demo给的依赖方式是远程依赖的写法,结果一直依赖到了远程的包,可能远程包是aar有manifest 所以导致冲突,换成本地jar包就好了,manifest合并冲突的解决方法很多,只是hbuilderx 由于无法自由配置主app可能有限制,新版本会再加入Placeholders的设置。

2020-01-15 13:35 负责人:无 分享
已邀请:
DCloud_Android_zl

DCloud_Android_zl

安卓暂时不能支持,您可以先用离线SDK打包apk,后续此功能会完善。

  • 3***@qq.com (作者)

    我看插件市场人家一样用的sdk jar包,可以做出来是怎么做到的,我离线工程需要在app的build.gradle 设置

    manifestPlaceholders = [

    xxx: "xxx",

    xxx: "xxx",

    ]

    才能编译通过,提交插件市场该怎么配置绕过呢,插件市场有人成功提交说明是有绕过方法的啊。

    2020-01-15 15:57

  • DCloud_Android_zl

    回复 3***@qq.com: https://ask.dcloud.net.cn/article/35414 看一下文档吧,插件市场中的配置都是通过parameters属性配置的,并没有把需要替换的内容放到Androidmanifest.xml中。

    2020-01-15 17:46

  • 3***@qq.com (作者)

    回复 DCloud_Android_zl: 不然你能不能告诉我怎么删除第三方jar包里的manifest内容,这样提交云打包就能编译通过了

    2020-01-15 19:06

DCloud_App_Array

DCloud_App_Array

HBuilderX2.5.6+版本已经支持设置placeholder
参考规范文档:https://ask.dcloud.net.cn/article/35414

placeholder HBuilderX2.5.6+版本支持  
Android平台在build.gradle中添加manifestPlaceholders的键名,推荐使用“插件标识_键名”格式,如"DC-RichAlert_appid";

该问题目前已经被锁定, 无法添加新回复