Google Play拒绝Cordova应用程序的原因包含用户的安全漏洞

时间:2015-12-14 15:53:18

标签: javascript android cordova google-play apache-cordova

我在Apache Cordova上开发了一个应用程序,我按照所有步骤生成.apk以在Google Play上传。我尝试了很多次,但谷歌的反应是一样的:

  

我们因违反我们的危险品政策而拒绝了APP,包ID com.xxx.app。如果您提交了更新,则以前的版本   您的应用仍可在Google Play上使用。这个程序使用软件   包含用户的安全漏洞。以下是清单   漏洞和检测到的相应APK版本   在你最近的提交中。请尽快升级您的应用   可以增加升级版APK的版本号。   漏洞Apache Cordova:漏洞已在Apache Cordova v.3.5.1中修复

我有最新版本的Cordova(5.4.1)。

以下将详细介绍我为安装和项目开发所遵循的步骤:

  • 使用命令npm install -g Cordova从控制台Node.js开始下载Cordova。
  • 安装Java:版本1.8.0_65。
  • 安装Android SDK。
  • 将Java和SDK添加到PATH。
  • 我下载了Android SDK的必要组件。
  • 通过命令创建项目。 (Cordova创建Projectxxxx)。
  • 添加Android平台。
  • 我将我的应用程序代码复制到www文件夹中。
  • 添加项目所需的插件:splashscreen和sqlite。
  • 我在Android模拟器和其他手机上测试了该应用程序。都好。运行完美。
  • 要创建已签名的APK文件,请执行以下步骤:

    -Cordova build --release android。 (这在platforms / android / build / outputs上生成了android-release-unsigned.apk / apk)。

    - 然后,我生成了密钥库。

    - 在jarsigner之后。

    -Finally:zipalign。

  • 我将end-app.apk上传到Google Play。

我的另一个细节是cordova.js生成的版本是4.1.1。但控制台版本是5.4.1(命令:Cordova -version)。 我通过node.js console做了一切。

Attemps: 我上传了一个没有js组件的APK。只有cordova.js,它没有工作。 我在新安装的窗口中再次安装,但都没有工作。

我的版本高于3.5.1。我找不到解决方案。

3 个答案:

答案 0 :(得分:1)

最大的问题不仅仅是PLATFORM_VERSION_BUILD_LABEL错误,而且使用的默认cordova是古老的(我的是3.7.1)。要解决此问题,您需要在项目中安装较新的版本。您可以在命令行中指定它,就像npm那样。

cordova platform update android@4.1.1

或者您可以在config.xml中指定它

<engine name="android" version="4.1.1" />

可能需要&#39; spec&#39;而不是&#39;版本&#39;取决于您使用cordova安装的电流。此时,它们最高可达5.1,您可以使用最新的&#39;而不是特定的版本号。

下一个令人头疼的问题将是补丁的关键,它会锁定网络访问。我现在在我的服务器的所有ajax调用中收到404错误。访问是安全问题的根源,因此这不是一个大惊喜。我还在努力。

答案 1 :(得分:0)

我有同样的问题,我在插件中找到了以前的corodva版本,在我的情况下是facebook连接;我删除了这个插件并再次上传,它的工作形成了我。您可以在项目中搜索PLATFORM_VERSION_BUILD_LABEL,可以认为某些插件有其他cordova版本。

答案 2 :(得分:0)

我试图解决这个问题差不多一个星期了。解: 在www / lib / cordova文件夹中有一个cordova.js文件在更新cordova和ionic时没有更新。打开文件,查找var PLATFORM_VERSION_BUILD_LABEL。如果在本文发布时版本不是4.1.1,请使用主目录中某个文件的另一个副本进行更新。