Skip to content

[分享][问答]Android Git 项目结构讨论 #268

Open
@lixiaoyi

Description

@lixiaoyi

场景是这样的,一个团队里面同时开发几个app,每一个android app项目包含app模块和若干library,其中一些核心library会被其他app项目公用。
讨论如何设计git的项目结构,欢迎有经验的开发者提供好的思路,此讨论不涉及代码实践,只讨论普遍问题,欢迎大家放心分享。
下面是两个方案抛砖引玉,欢迎讨论大家正在使用的结构。

方案一:

用Android Repo,把app,lib分别独立放在不同的 git repository,用repo sync同步和checkout

*优点是各个模块分离,代码提交纪录清晰,在不同app开发只看到属于各自的提交纪录,pull request 和code review也分别在不同的repository中,非常清楚修改了哪个模块,同时还有Repo manifest工具的其他优点,部署,版本控制等等
*缺点是在开发其中一个app时修改了核心library,不能直接看到在另一个app是否编译通过,比如类或方法名改变了,必须到检出另一个app才可以

方案二:

所有模块放在同一个git repository,也就是无论几个app都在一个repository,共享核心library。
*优点是修改核心library可以在同一个branch看到是否所有app都可以运行
*缺点是不管开发和修改了哪个app或module,所有提交纪录都在一个repository里面,所有pull request也是,别人review时难以明白到底是改了哪个app,非常不方便模块化管理

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions