PhoneGap Build 不会使用 PushPlugin 为 Android 构建
PhoneGap Build won't build for Android with PushPlugin
我们有一个 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
在更新 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)
最近发布了新的推送插件。
阅读本文(通过官方博客),了解详情:
http://simonmacdonald.blogspot.com/2015/07/phonegap-plugin-push-version-111.html
更新 (2015-10-24): 根据 2015 年 9 月 28 日的 Phonegap Build 博客
Android Builds Now Using Gradle By Default。
Ant
仍然可用,并且可以强制使用 - with
<preference name="android-build-tool" value="ant" />
发生其他相关更改,包括自动 minSdkVersion 版本控制 和9 补丁图像的验证。阅读博客 post 了解详情。
注意: 关于您原来的问题,gradle(phonegap 未正式支持)是问题所在。有些人通过强制 ant
到 运行 来解决这个问题。要找到其他 post,请从这个 post 回溯 30 天;主题与此类似,包括:"Failed to build".
对于 PhoneGap Build,使用
<gap:plugin name="com.phonegap.plugins.pushplugin" version="2.4.0" />
强制它使用受支持的旧版本。
尝试删除插件并使用以下命令通过命令行安装它:
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" />
试试这个(不是 100% 有效,但对我有效)。
在 platforms/android/project.properties
中删除这一行
cordova.system.library.1=com.android.support:support-v4:+
如果你正在使用facebook插件(像我一样),你可以忽略下面的内容。
cordova plugin add android.support.v4
我们有一个 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
在更新 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)
最近发布了新的推送插件。
阅读本文(通过官方博客),了解详情:
http://simonmacdonald.blogspot.com/2015/07/phonegap-plugin-push-version-111.html
更新 (2015-10-24): 根据 2015 年 9 月 28 日的 Phonegap Build 博客
Android Builds Now Using Gradle By Default。
Ant
仍然可用,并且可以强制使用 - with
<preference name="android-build-tool" value="ant" />
发生其他相关更改,包括自动 minSdkVersion 版本控制 和9 补丁图像的验证。阅读博客 post 了解详情。
注意: 关于您原来的问题,gradle(phonegap 未正式支持)是问题所在。有些人通过强制 ant
到 运行 来解决这个问题。要找到其他 post,请从这个 post 回溯 30 天;主题与此类似,包括:"Failed to build".
对于 PhoneGap Build,使用
<gap:plugin name="com.phonegap.plugins.pushplugin" version="2.4.0" />
强制它使用受支持的旧版本。
尝试删除插件并使用以下命令通过命令行安装它:
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" />
试试这个(不是 100% 有效,但对我有效)。
在 platforms/android/project.properties
中删除这一行cordova.system.library.1=com.android.support:support-v4:+
如果你正在使用facebook插件(像我一样),你可以忽略下面的内容。
cordova plugin add android.support.v4