android – Cordova:如何使用cordova-cli为每个平台设置不同的包名?

我有一个适用于iOS和 Android的应用程序,我正在从PhoneGap 2.x升级到Cordova 4.0.

由于iOS和Android应用程序是使用PhoneGap 2.x创建的,因此我有两个独立的项目(即iOS项目和Android项目).这些项目具有HTML / CSS / JavaScript资产的共享www目录(使用符号链接).当我升级到Cordova 4.0时,我可以拥有一个Cordova项目,并使用Cordova CLI为platforms目录中的每个平台创建项目.

用于Cordova中每个平台的包名称是在共享的config.xml文件中设置的. Cordova CLI使用config.xml中设置的包名称来执行perpare,build和add platform命令.

不幸的是,用于PhoneGap 2.x应用程序的软件包名称并不相同(即Android应用程序的软件包名称与iOS应用程序的软件包名称不同).

例如:Android应用程序的软件包名称类似于com.example.applongname,但iOS应用程序的软件包名称类似于com.example.AppShortName.包名称的开头(即反向公司域名)对于每个应用程序是相同的,但应用程序名称不同. iOS应用程序名称还包含大写字母.

我需要保留用于初始PhoneGap 2.x版本的软件包名称,以便可以更新应用程序(即最终用户可以接收更新,以替换他们现有的应用程序安装).

如何在不创建两个单独项目的情况下为每个平台设置包名?

解决方法

以这种方式写小部件:
<widget id="com.company.app" android-packageName="com.company.androidapp" ios-CFBundleIdentifier="com.company.iosapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">

有关详细信息,请参阅我的other答案.

相关文章

AdvserView.java package com.earen.viewflipper; import an...
ImageView的scaleType的属性有好几种,分别是matrix(默认)...
文章浏览阅读8.8k次,点赞9次,收藏20次。本文操作环境:win1...
文章浏览阅读1.2w次,点赞15次,收藏69次。实现目的:由main...
文章浏览阅读3.8w次。前言:最近在找Android上的全局代理软件...
文章浏览阅读2.5w次,点赞17次,收藏6次。创建项目后,运行项...