PhoneGap Build无法使用PushPlugin构建Android应用

7
我们有一个PhoneGap应用程序,一旦添加了PushPlugin,就无法构建。
具体来说,在使用PhoneGap Build时,我们会收到以下错误信息:
BUILD FAILED
/home/ec2-user/android-sdk/tools/ant/build.xml:573: ../../../../../../home/ec2-user/android-sdk/com.android.support:support-v4:+ resolve to a path with no project.properties file for project /project

我们偶尔可以使用Ripple模拟器(在Visual Studio中构建)进行构建,只需更新PhoneGap($ npm update -g phonegap)和PhoneGap Android平台($ phonegap platform update android)到最新版本即可。

我们是这样包含插件的:

<gap:plugin name="com.phonegap.plugins.pushplugin" /> 

或者,在使用Visual Studio 2015进行构建时:

<vs:plugin name="com.phonegap.plugins.PushPlugin" version="2.5.0" src="https://github.com/phonegap-build/PushPlugin.git" xmlns:vs="http://schemas.microsoft.com/appx/2014/htmlapps" /> 

有人能建议我们可能出了什么问题吗?

编辑:

我们也尝试在命令行上构建,但即使安装了cordova-plugin-android-support-v4,仍然无法成功;

$ cordova plugin add cordova-plugin-android-support-v4
    Fetching plugin "cordova-plugin-android-support-v4" via npm
    npm http GET https://registry.npmjs.org/cordova-plugin-android-support-v4
    npm http 200 https://registry.npmjs.org/cordova-plugin-android-support-v4
    Installing "cordova-plugin-android-support-v4" for android

我们仍然会遇到错误:
C:\Dev\CordovaBlank\BlankCordovaApp1\BlankCordovaApp1>cordova build android
Running command: cmd "/s /c "C:\Dev\CordovaBlank\BlankCordovaApp1\BlankCordovaApp1\platforms\android\cordova\build.bat""
ANDROID_HOME=C:\Users\XXX\AppData\Local\Android\sdk
JAVA_HOME=C:\Program Files (x86)\java\jdk1.7.0_55
Running: C:\Dev\CordovaBlank\BlankCordovaApp1\BlankCordovaApp1\platforms\android\gradlew cdvBuildDebug -b C:\Dev\CordovaBlank\BlankCordovaApp1\BlankCordova
dle.daemon=true

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all dependencies for configuration ':_debugCompile'.
  > Could not find any version that matches com.android.support:support-v4:+.
     Searched in the following locations:
         https://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml
         https://repo1.maven.org/maven2/com/android/support/support-v4/
     Required by:
         :android:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 2.897 secs

C:\Dev\CordovaBlank\BlankCordovaApp1\BlankCordovaApp1\platforms\android\cordova\node_modules\q\q.js:126
                    throw e;
                          ^
Error code 1 for command: cmd with args: /s /c "C:\Dev\CordovaBlank\BlankCordovaApp1\BlankCordovaApp1\platforms\android\gradlew cdvBuildDebug -b C:\Dev\Cor
latforms\android\build.gradle -Dorg.gradle.daemon=true"
ERROR building one of the platforms: Error: cmd: Command failed with exit code 1
You may not have the required environment or OS to build this project
Error: cmd: Command failed with exit code 1
    at ChildProcess.whenDone (C:\Users\XXX\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:134:23)
    at ChildProcess.emit (events.js:110:17)
    at maybeClose (child_process.js:1015:16)
    at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
4个回答

4

最近发布了新的推送插件。通过官方博客,了解详情。

更新(2015-10-24):根据Phonegap Build博客(2015年9月28日)Android Builds Now Using Gradle By Default所述,现在默认使用Gradle。

Ant仍可用,可以强制使用 - 使用 <preference name="android-build-tool" value="ant" />

其他相关变化包括自动minSdkVersion版本控制9-patch图片验证。请参阅博客文章了解详情。

注意:关于您原来的问题,gradle(非官方支持的Phonegap工具)是个问题。有些人通过强制使用ant来解决此问题。要查找其他帖子,请从本帖开始往前搜索30天;主题与本帖类似,包括:"无法构建"。


4

针对PhoneGap Build,使用<gap:plugin name="com.phonegap.plugins.pushplugin" version="2.4.0" />来强制使用旧版本的插件,以确保兼容性。


1

尝试移除插件并使用以下命令通过命令行安装:

cordova plugin add com.phonegap.plugins.pushplugin --save

您会注意到插件将在您的config.xml中显示如下:
<plugin name="com.phonegap.plugins.PushPlugin" spec="^2.2.1" />

但是它不会显示在配置设计器上,为了让它显示,需要在插件标签前面加上“vs:”:

<vs:plugin name="com.phonegap.plugins.PushPlugin" spec="^2.2.1" />

0
尝试这个(不是100%有效,但对我有效)。
在 platforms/android/project.properties 中删除此行。

cordova.system.library.1=com.android.support:support-v4:+

如果您正在使用 Facebook 插件(像我一样),则可以忽略下面的内容。

cordova plugin add android.support.v4


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接