IOS 和 Android 包名

IOS and Android package name

我在Flutter中创建了demo工程,包名:

iOS : com.example.flutterAppTest

Android : com.example.flutter_app_test

为什么它们不同?他们应该有所不同吗?

跨平台包名的做法是什么?

Java package naming conventions 之后 Android 包名称下划线的原因是:

Naming Conventions

Package names are written in all lower case to avoid conflict with the names of classes or interfaces.

对于iOS,很多人用camelCase。您的 iOS 包 ID 或包名称使用了相同的大小写,但没有严格规定使用哪种大小写。这只是一个约定,不是编译器规则。

有效名称由字母(小写或大写)、数字、下划线组成,并以字母或下划线开头。

它们需要不同吗?

每个平台都遵循自己的惯例,但没有必要有所不同。如前所述 - 您可以根据需要使用字母、数字和下划线重命名包。

跨平台包名的做法是什么?

如果可能 - 您可以使用相同的包名称,但这会违反约定,这是不可取的。

如果不可能(例如项目无法编译)- 遵守规则。

恕我直言,遵循约定(也遵循规则)是最好的解决方案。

您可以在此处找到有关 Java package naming conventions 的更多信息(这是不同的资源)。