Android Cordova:如何使用Cordova cli为每个平台设置不同的软件包名称?

Android Cordova:如何使用Cordova cli为每个平台设置不同的软件包名称?,android,ios,cordova,Android,Ios,Cordova,我有一个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为平台目录中的每个平台创建项目 但是,用于在Cordova中为每个平台设置的包

我有一个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为平台目录中的每个平台创建项目

但是,用于在Cordova中为每个平台设置的包名是在一个shared 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">


有关更多详细信息,请参阅我的答案。

请您说得更清楚一点好吗?举一个例子,比如你喜欢保留哪些包名而不想保留哪些包名。谢谢Aks,这个解决方案与我的项目设置方式很好地配合。