假设我的应用程序模块具有根软件包:
com.company.app
功能模块应该在此软件包名称上添加 以避免命名冲突吗?例如:
com.company.app.feature
或者这样命名是否可以?
com.company.feature
其他信息:
当我向项目添加Android库模块时,默认包名称设置为com.company.feature
(不包括应用程序名称)。
我有几个使用此命名约定的模块都没有问题,但是我担心这可能会导致命名冲突(例如,如果我有两个具有相同功能名称的应用程序)。
关于程序包名称,我对创建APK时会发生的事情一无所知,所以也许我不用担心什么?
答案 0 :(得分:1)
通过功能模块,我认为使用com.company.app.feature
会更清楚。由于一个应用程序可能具有多个功能模块,例如:com.company.app.feature1
,com.company.app.feature2
。这些功能模块属于一个应用程序。
但是使用库模块,将其设置为com.company.feature
(不包括应用程序名称)会更好。因为该库是独立的,所以它不属于一个指定的应用程序。一个库可以在多个应用程序中实现,就像在Github上实现库一样。
例如:您创建了一个库来绘制具有自定义视图的统计图,并以包名com.yourname.chart
命名,您可以继续开发它,任何应用程序都可以实现它以供使用。