【发布时间】:2021-01-16 23:21:06
【问题描述】:
我在 Flutter 中创建了 demo 项目,包名:
iOS : com.example.flutterAppTest
Android : com.example.flutter_app_test
为什么它们不同?它们应该不同吗?
跨平台包名的做法是什么?
【问题讨论】:
标签: android ios flutter package
我在 Flutter 中创建了 demo 项目,包名:
iOS : com.example.flutterAppTest
Android : com.example.flutter_app_test
为什么它们不同?它们应该不同吗?
跨平台包名的做法是什么?
【问题讨论】:
标签: android ios flutter package
在Java package naming conventions之后,Android 包名下划线的原因是:
命名约定
包名全部小写,避免与类名或接口名冲突。
对于 iOS,很多人使用camelCase。您的 iOS 捆绑包 ID 或包名称使用了相同的大小写,但没有严格的规则使用哪种大小写。这只是一个约定,而不是编译器规则。
有效名称由字母(小写或大写)、数字、下划线组成,并以字母或下划线开头。
它们应该不同吗?
每个平台都遵循自己的约定,但没有必要有所不同。如前所述 - 您可以根据需要使用字母、数字和下划线重命名包。
跨平台包名的做法是什么?
如果可能 - 您可以使用相同的包名,但它会违反约定,这是不可取的。
如果不可能(例如项目无法编译) - 请遵守规则。
恕我直言,遵循约定(也遵循规则)是最好的解决方案。
您可以在此处找到有关 Java package naming conventions 的更多信息(这是一个不同的资源)。
【讨论】: