Skip to content

Cordova - 第一个应用

既然你已经设置好了 Cordova 开发环境,你就可以创建和运行你的第一个混合应用了。本指南将引导你完成基本步骤。

打开你的终端或命令提示符,导航到你想要创建项目的目录(例如,你的桌面或一个专门的项目文件夹)。

使用 cordova create 命令:

cordova create MyCordovaApp com.example.mycordovaapp "My First App"

让我们解析一下这个命令:

  • MyCordovaApp:这是你的项目文件将创建的目录名称。如果未另行指定,它也用作应用名称的默认值。
  • com.example.mycordovaapp:这是你的应用的倒置域名风格的包标识符(例如,io.cordova.hellocordova 是一个常见的默认值)。将 com.example 替换为你自己的倒置域名(例如,com.yourcompanyname)。如果你打算发布到应用商店,此 ID 必须是唯一的。
  • “My First App”:这是你的应用的显示标题,用户将看到它。

命令完成后,将创建一个名为 MyCordovaApp(或你选择的任何名称)的新目录,其中包含基本的项目结构。

进入你刚创建的项目目录:

cd MyCordovaApp

在构建和运行应用之前,你需要添加一个或多个目标平台。要添加平台,你的系统必须安装相应的平台 SDK(例如,Android 的 Android SDK,iOS 的 Xcode)。

示例:添加 Android 平台:

cordova platform add android

示例:添加 iOS 平台(需要 macOS 和 Xcode):

cordova platform add ios

你可以添加的其他平台(可用性取决于你的开发操作系统和已安装的 SDK):

cordova platform add browser
cordova platform add windows
# (用于 macOS 桌面应用)cordova platform add osx

你可以使用以下命令列出已安装和可用的平台:

cordova platform ls

移除平台:

cordova platform remove android

添加平台后,你可以为该平台构建应用。

构建 Android 应用:

cordova build android

构建 iOS 应用:

cordova build ios

构建成功后,你可以在模拟器/虚拟机或连接的物理设备上运行应用。

确保你已配置模拟器/虚拟机(例如,通过 Android Studio 设置的 Android AVD,或通过 Xcode 设置的 iOS 模拟器)。

cordova emulate android
# 或用于 iOS
cordova emulate ios

通过 USB 将设备连接到电脑。对于 Android,在开发者选项中启用 USB 调试。对于 iOS,你可能需要在设备上信任开发者配置文件。

cordova run android
# 或用于 iOS
cordova run ios

**注意:**为了更快的 Android 模拟,建议使用通过 Android Studio 管理的 Android 虚拟设备 (AVD),它们通常比旧的默认模拟器提供更好的性能和硬件加速。对于 iOS,Xcode 提供的模拟器通常性能良好。

如果一切设置正确,你的应用应该会在设备/模拟器上启动,显示默认的 Cordova 欢迎屏幕。

你的 Cordova 项目中的关键目录和文件:

  • www/:这是你的 Web 应用代码(HTML、CSS、JavaScript)所在的地方。这是你将主要用于应用内容和逻辑的文件夹。
  • config.xml:你的应用的主配置文件。它包含应用 ID、名称、作者、偏好设置和插件配置等元数据。
  • platforms/:包含 Cordova 添加平台时生成的平台特定项目文件(例如,用于 Android Studio 项目的 platforms/android,用于 Xcode 项目的 platforms/ios)。除非你清楚自己在做什么,否则通常不应直接编辑此处的 文件,因为它们可能会被 Cordova 命令覆盖。
  • plugins/:存储你已添加到项目的任何插件的代码。
  • hooks/:用于可在 Cordova 构建过程的不同点触发的自定义脚本。
  • res/(通常在 www/ 目录或项目根目录内,然后在 config.xml 中配置):用于平台特定资源,如图标和启动画面。

现在,你可以通过编辑 www 目录中的文件并添加 Cordova 插件来获取原生设备功能,从而开始自定义你的应用了!