Google Play不接受Apache Cordova

时间:2016-02-04 23:30:58

标签: android cordova phonegap-build

我最初尝试使用AIDE for PhoneGap,在我将应用程序提交到Google Play之后,我收到了以下消息...

APP拒绝
您的应用提交已被拒绝,因为它包含安全漏洞,这违反了我们的dangerous products政策。如果上传的APK是应用更新,则之前的版本仍可在Google Play上使用。有关此拒绝的详细信息已通过电子邮件发送给帐户所有者。

然后我继续在新的npm安装后使用Apache Cordova's Hello World示例,并收到以下消息(此时我没有检查完整错误,看看有什么版本的Cordova被重新安装)...

安全警报
此应用程序基于包含安全漏洞的Apache Cordova版本构建。您必须在2015年8月31日之前解决此问题。有关更多信息,请参阅警报页面 影响APK版本6.

我的最后一次尝试是使用Adobe的PhoneGap Build作为解决方法(在阅读Google Play上的完整提醒后..."请将您的应用迁移到Apache Cordova v.3.5.1或者更高。#34;)和Google Play仍然给出了上述信息。 BTW我的应用程序在Android上正常运行我还没有被Google Play接受。

自从昨晚以来我一直在寻找解决方案而且我没有遇到任何问题,我更愿意使用Adobe PhoneGap Build而不是使用本地Java

有人可以帮忙吗?我不知道为什么这些不适合我。

运行后npm info cordova它表示版本 6.0.0 ,但cordova.js文件显示其版本 5.1.0 。 PhoneGap桌面没有给我一个cordova文件,但npm info phonegap版本说它 5.4.1

我将旧的cordova.js文件更新为最新版本的v5.1.0,但尚未找到如何替换cordova-2.9.0.jar。版本v5.4.1

注意:即使使用cordova.js v5.1.0,Google Play仍然无法接受。

这是我的config.xml(用于PhoneGap Build)......

<?xml version='1.0' encoding='utf-8'?>
<widget xmlns = "http://www.w3.org/ns/widgets"
  xmlns:gap   = "http://phonegap.com/ns/1.0"
  id          = "com.michael.hellp"
  version     = "1.0.0">
  <name>
    Hello world
  </name>
  <description>
    Hello world description
  </description>
  <author href="http://build.phonegap.com/" email="name@website.com">
    Bruce Lee
  </author>

  <content src="index.html" />

  <icon src="icon.png" />
  <icon gap:platform="android" gap:qualifier="ldpi" src="www/res/icon/android/icon-36-ldpi.png" />
  <icon gap:platform="android" gap:qualifier="mdpi" src="www/res/icon/android/icon-48-mdpi.png" />
  <icon gap:platform="android" gap:qualifier="hdpi" src="www/res/icon/android/icon-72-hdpi.png" />
  <icon gap:platform="android" gap:qualifier="xhdpi" src="www/res/icon/android/icon-96-xhdpi.png" />
  <icon gap:platform="android" src="www/res/icon/android/icon-96-xhdpi.png" />
  <icon gap:platform="blackberry" src="www/res/icon/blackberry/icon-80.png" />
  <icon gap:platform="blackberry" gap:state="hover" src="www/res/icon/blackberry/icon-80.png" />
  <icon gap:platform="ios" height="57" src="www/res/icon/ios/icon-57.png" width="57" />
  <icon gap:platform="ios" height="72" src="www/res/icon/ios/icon-72.png" width="72" />
  <icon gap:platform="ios" height="114" src="www/res/icon/ios/icon-57-2x.png" width="114" />
  <icon gap:platform="ios" height="144" src="www/res/icon/ios/icon-72-2x.png" width="144" />
  <icon gap:platform="webos" src="www/res/icon/webos/icon-64.png" />
  <icon gap:platform="winphone" src="www/res/icon/windows-phone/icon-48.png" />
  <icon gap:platform="winphone" gap:role="background" src="www/res/icon/windows-phone/icon-173-tile.png" />

  <preference name="orientation" value="default" />
  <preference name="target-device" value="universal" />
  <preference name="fullscreen" value="true" />
</widget>

2 个答案:

答案 0 :(得分:1)

原来我需要用PhoneGap构建的所有东西都是在我的config.xml文件中添加这行代码。

<preference name="phonegap-version" value="cli-5.2.0" />

所以这就是我的配置现在的样子。

<?xml version='1.0' encoding='utf-8'?>
<widget xmlns = "http://www.w3.org/ns/widgets"
  xmlns:gap   = "http://phonegap.com/ns/1.0"
  id          = "com.michael.hellp"
  version     = "1.0.0">
  <name>
    Hello world
  </name>
  <description>
    Hello world description
  </description>
  <author href="http://build.phonegap.com/" email="name@website.com">
    Bruce Lee
  </author>

  <content src="index.html" />

  <icon src="icon.png" />
  <icon gap:platform="android" gap:qualifier="ldpi" src="www/res/icon/android/icon-36-ldpi.png" />
  <icon gap:platform="android" gap:qualifier="mdpi" src="www/res/icon/android/icon-48-mdpi.png" />
  <icon gap:platform="android" gap:qualifier="hdpi" src="www/res/icon/android/icon-72-hdpi.png" />
  <icon gap:platform="android" gap:qualifier="xhdpi" src="www/res/icon/android/icon-96-xhdpi.png" />
  <icon gap:platform="android" src="www/res/icon/android/icon-96-xhdpi.png" />
  <icon gap:platform="blackberry" src="www/res/icon/blackberry/icon-80.png" />
  <icon gap:platform="blackberry" gap:state="hover" src="www/res/icon/blackberry/icon-80.png" />
  <icon gap:platform="ios" height="57" src="www/res/icon/ios/icon-57.png" width="57" />
  <icon gap:platform="ios" height="72" src="www/res/icon/ios/icon-72.png" width="72" />
  <icon gap:platform="ios" height="114" src="www/res/icon/ios/icon-57-2x.png" width="114" />
  <icon gap:platform="ios" height="144" src="www/res/icon/ios/icon-72-2x.png" width="144" />
  <icon gap:platform="webos" src="www/res/icon/webos/icon-64.png" />
  <icon gap:platform="winphone" src="www/res/icon/windows-phone/icon-48.png" />
  <icon gap:platform="winphone" gap:role="background" src="www/res/icon/windows-phone/icon-173-tile.png" />

  <preference name="orientation" value="default" />
  <preference name="target-device" value="universal" />
  <preference name="fullscreen" value="true" />
  <preference name="phonegap-version" value="cli-5.2.0" />
</widget>

答案 1 :(得分:0)

我遇到了同样的问题,Michael Schwartz提出的<preference name="phonegap-version" value="cli-5.2.0" />设置无效。

以下解决了这个问题:

$ cordova platform remove android
$ cordova platform add android@5.4.0

要查看您实际提交的版本,请在platforms/android/platform_www/cordova.js中查看以下字符串:

var PLATFORM_VERSION_BUILD_LABEL = '5.4.0';

注意手动更改此字符串会让您在其他地方遇到麻烦,所以不要。