想要做两个功能相近类似的应用,通过同一个相项目生成两个APK是否合理?

根据需求,要有两个角色对应的应用,两个应用间除了页面样式不同之外,数据解析及显示内容基本相同。

我可以把两个角色需要的功能全部放在一个项目里,加一些对角色的判断,修改ApplicationId生成两个符合需求的可以同时安装在同一台设备。

项目不算小,这样的做法合理吗,会不会有什么隐患问题?

两个独立的app,交换数据比较麻烦,而且增加用户不必要的存储。另外维护两套代码也费事。
当然实在要这么做,也随你,只是不太推荐。

我觉得是可以的,听你说的,这两个app之间应该不需要什么交互,也就可以。
但是我推荐你不要混在一起,从开发难度上来讲,你可以这么做,熟练的使用git,建成两个分支,两个分支使用不同的ApplicationId。有很多共用的代码可以同时提交到两个分支,不同的再区分开来。如果真全部混在一起,会使逻辑变得很复杂,不利于维护。

如果项目只是域名、包名、logo、应用名等一些基本配置不同,可以通过配置 productFlavors 实现多版本差异化、不同包名打包
但你的项目涉及到不同的UI,如果UI的控件都一样,只是ID、位置属性不同也可以这么做