Mephisto
Mephisto
  • 发布:2018-11-19 10:10
  • 更新:2018-11-19 16:13
  • 阅读:1702

关于HBuilder用AS离线打包和gradle配置不兼容的问题

分类:5+ SDK

我使用的是离线Android Studio打包,关于appid有两个问题想问下
1、assets/apps里的路径、manifest.json里的appid、assets/data/dcloud_control.xml里的appid是一致的我知道,但是这个hbuilder的appid和gradle的applicationId有什么关系在么
2、普通情况下我的离线打包已经走通,应用也能正常启动工作,由于我有多个buildType,而且为了方便测试,我需要在同一台机器上安装多个buildType版本的apk,但是当我为buildType添加applicationIdSuffix后,打出来的包就无法正常工作,进入应用就是白屏,我尝试修改Hbuidler的appid、assets里的资源路径,都不好使

所以,第二个问题是hbuilder离线打包目前和applicationSuffix存在兼容问题呢?还是我需要做些额外的配置?

2018-11-19 10:10 负责人:无 分享
已邀请:
Mephisto

Mephisto (作者)

以目前我测试的结果来看,有结论,但是无法解决问题,首先说第一个问题:
hbuilder的appid和gradle的applicationId可以说毫无关系,互相独立
再来说第二个问题,什么问题导致了这个现象?使用applicationIdSuffix会导致包名改变,但是hbuilder所有配置都是在assets里的,所以应该与编译期是无关的
再考虑到AndroidManifest的package属性会在编译完成后被替换为 applicationId applicationIdSuffix ,那么可能是package属性的问题导致的
所以我尝试把package属性手动修改为 applicationId applicationIdSuffix ,保证两者的一致,这的确解决了问题不正常工作的问题,但无法解决我的需求
package的属性无法通过buildType的merge覆盖,也无法通过manifestPlaceholder来赋值,这就基本上没有变通的方法解决了

  • DCloud_Android_zl

    离线打包暂时不支持 applicationIdSuffix 配置

    2018-11-19 19:11

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