【问题标题】:Cordova Build command doesn't work any more for androidCordova Build 命令不再适用于 android
【发布时间】:2014-02-17 23:31:56
【问题描述】:

这是我得到的,当我尝试构建 cordova 应用程序时,命令行的输出:

C:\wamp\tests\cortest>cordova build
Generating config.xml from defaults for platform "android"
Preparing android project
Compiling app on platform "android" via command "cmd" /c C:\wamp\te
sts\cortest\platforms\android\cordova\build
Error: An error occurred while building the android project.Error executing "ant
 debug -f "C:\wamp\tests\cortest\platforms\android\build.xml"":
BUILD FAILED
C:\Program Files (x86)\Android\android-studio\sdk\tools\ant\build.xml:601: The f
ollowing error occurred while executing this line:
C:\Program Files (x86)\Android\android-studio\sdk\tools\ant\build.xml:720: The f
ollowing error occurred while executing this line:
C:\Program Files (x86)\Android\android-studio\sdk\tools\ant\build.xml:734: Compi
le failed; see the compiler error output for details.

Total time: 1 second


    at ChildProcess.<anonymous> (C:\Users\John\AppData\Roaming\npm\node_modules\
cordova\src\compile.js:65:22)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Pipe.close (net.js:466:12)

这是我的配置文件:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.foundation.app" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>FoundationMobile</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
</widget>

我有 Windows 7、64 位。不确定它是否重要。知道发生了什么,为什么我不能再建造它了?在我使用 android manager 更新 Android SDK 之前它正在工作。

非常感谢您!

添加于 23/02/2014,项目和 sdk 路径现在不同了,因为我重新安装了 sdk,并创建了新项目,但错误是一样的。

C:\wamp\tests\cordova-test>cordova -d build “android”的cordova 库已经存在。无需下载。继续。 从平台“android”的默认值生成 config.xml 为平台“android”调用plugman.prepare 准备安卓项目 处理插件的配置更改。 迭代已安装的插件:[] 写出cordova_plugins.js... 将 Android 应用程序名称写入“CordovaTest” 将 Android 软件包名称写入“com.foundation.app” 通过命令“cmd”/c C:\wamp\te 在平台“android”上编译应用程序 sts\cordova-test\platforms\android\cordova\build exec: ant clean -f "C:\wamp\tests\cordova-test\platforms\android\bu ild.xml"

[ 'ant clean -f "C:\\wamp\\tests\\cordova-test\\platforms\\androi
d\\build.xml"',
  null,
  'Buildfile: C:\\wamp\\tests\\cordova-test\\platforms\\android\\
build.xml\r\n\r\n-check-env:\r\n [checkenv] Android SDK Tools Revision 22.3.0\r\
n [checkenv] Installed at C:\\adt-bundle-windows-x86_64-20131030\\sdk\r\n\r\n-se
tup:\r\n     [echo] Project Name: CordovaTest\r\n  [gettype] Project Type: Appli
cation\r\n\r\n-pre-clean:\r\n\r\nclean:\r\n   [delete] Deleting directory C:\\wam
p\\tests\\cordova-test\\platforms\\android\\bin\r\n   [delete] D
eleting directory C:\\wamp\\tests\\cordova-test\\platforms\\andro
id\\gen\r\n[getlibpath] Library dependencies:\r\n[getlibpath] \r\n[getlibpath] -
-----------------\r\n[getlibpath] Ordered libraries:\r\n\r\nnodeps:\r\n\r\n-chec
k-env:\r\n [checkenv] Android SDK Tools Revision 22.3.0\r\n [checkenv] Installed
 at C:\\adt-bundle-windows-x86_64-20131030\\sdk\r\n\r\n-setup:\r\n     [echo] Pr
oject Name: CordovaLib\r\n  [gettype] Project Type: Android Library\r\n\r\n-pre-
clean:\r\n\r\nclean:\r\n   [delete] Deleting directory C:\\wamp\\
tests\\cordova-test\\platforms\\android\\CordovaLib\\bin\r\n   [delete] Deleting
 directory C:\\wamp\\tests\\cordova-test\\platforms\\android\\Cor
dovaLib\\gen\r\n\r\nBUILD SUCCESSFUL\r\nTotal time: 0 seconds\r\n',
  '' ]

exec: ant debug -f "C:\wamp\tests\cordova-test\platforms\android\bu
ild.xml"

[ 'ant debug -f "C:\\wamp\\tests\\cordova-test\\platforms\\androi
d\\build.xml"',
  { [Error: Command failed:
  BUILD FAILED
  C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:601: The followi
ng error occurred while executing this line:
  C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:720: The followi
ng error occurred while executing this line:
  C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:734: Compile fai
led; see the compiler error output for details.

  Total time: 2 seconds
  ] killed: false, code: 1, signal: null },
  'Buildfile: C:\\wamp\\tests\\cordova-test\\platforms\\android\\
build.xml\r\n\r\n-set-mode-check:\r\n\r\n-set-debug-files:\r\n\r\n-check-env:\r\
n [checkenv] Android SDK Tools Revision 22.3.0\r\n [checkenv] Installed at C:\\a
dt-bundle-windows-x86_64-20131030\\sdk\r\n\r\n-setup:\r\n     [echo] Project Nam
e: CordovaTest\r\n  [gettype] Project Type: Application\r\n\r\n-set-debug-mode:\
r\n\r\n-debug-obfuscation-check:\r\n\r\n-pre-build:\r\n\r\n-build-setup:\r\n[get
buildtools] Using latest Build Tools: 19.0.2\r\n     [echo] Resolving Build Targ
et for CordovaTest...\r\n[gettarget] Project Target:   Android 4.4.2\r\n[gettarg
et] API level:        19\r\n     [echo] ----------\r\n     [echo] Creating outpu
t directories if needed...\r\n    [mkdir] Created dir: C:\\wamp\\root\\
tests\\cordova-test\\platforms\\android\\bin\r\n    [mkdir] Created dir: C:\\wamp
\\tests\\cordova-test\\platforms\\android\\bin\\res\r\n    [mkdi
r] Created dir: C:\\wamp\\tests\\cordova-test\\platforms\\android
\\bin\\rsObj\r\n    [mkdir] Created dir: C:\\wamp\\tests\\cordova
-test\\platforms\\android\\bin\\rsLibs\r\n    [mkdir] Created dir: C:\\wamp\\tes
ts\\cordova-test\\platforms\\android\\gen\r\n    [mkdir] Created
dir: C:\\wamp\\tests\\cordova-test\\platforms\\android\\bin\\clas
ses\r\n    [mkdir] Created dir: C:\\wamp\\tests\\cordova-test\\pl
atforms\\android\\bin\\dexedLibs\r\n     [echo] ----------\r\n     [echo] Resolv
ing Dependencies for CordovaTest...\r\n[dependency] Library dependencies:\r\n[de
pendency] \r\n[dependency] ------------------\r\n[dependency] Ordered libraries:
\r\n[dependency] \r\n[dependency] ------------------\r\n     [echo] ----------\r
\n     [echo] Building Libraries with \'debug\'...\r\n\r\nnodeps:\r\n\r\n-set-mo
de-check:\r\n\r\n-set-debug-files:\r\n\r\n-check-env:\r\n [checkenv] Android SDK
 Tools Revision 22.3.0\r\n [checkenv] Installed at C:\\adt-bundle-windows-x86_64
-20131030\\sdk\r\n\r\n-setup:\r\n     [echo] Project Name: CordovaLib\r\n  [gett
ype] Project Type: Android Library\r\n\r\n-set-debug-mode:\r\n\r\n-debug-obfusca
tion-check:\r\n\r\n-pre-build:\r\n\r\n-build-setup:\r\n[getbuildtools] Using lat
est Build Tools: 19.0.2\r\n     [echo] Resolving Build Target for CordovaLib...\
r\n[gettarget] Project Target:   Android 4.4.2\r\n[gettarget] API level:
19\r\n     [echo] ----------\r\n     [echo] Creating output directories if neede
d...\r\n    [mkdir] Created dir: C:\\wamp\\tests\\cordova-test\\p
latforms\\android\\CordovaLib\\bin\r\n    [mkdir] Created dir: C:\\wamp\\tests
\\cordova-test\\platforms\\android\\CordovaLib\\bin\\res\r\n    [mk
dir] Created dir: C:\\wamp\\tests\\cordova-test\\platforms\\andro
id\\CordovaLib\\bin\\rsObj\r\n    [mkdir] Created dir: C:\\wamp\\root\\
tests\\cordova-test\\platforms\\android\\CordovaLib\\bin\\rsLibs\r\n    [mkdir]
Created dir: C:\\wamp\\tests\\cordova-test\\platforms\\android\\C
ordovaLib\\gen\r\n    [mkdir] Created dir: C:\\wamp\\tests\\cordo
va-test\\platforms\\android\\CordovaLib\\bin\\classes\r\n    [mkdir] Created dir
: C:\\wamp\\tests\\cordova-test\\platforms\\android\\CordovaLib\\
bin\\dexedLibs\r\n     [echo] ----------\r\n     [echo] Resolving Dependencies f
or CordovaLib...\r\n[dependency] Library dependencies:\r\n[dependency] No Librar
ies\r\n[dependency] \r\n[dependency] ------------------\r\n\r\n-code-gen:\r\n[me
rgemanifest] Merging AndroidManifest files into one.\r\n[mergemanifest] Manifest
 merger disabled. Using project manifest only.\r\n     [echo] Handling aidl file
s...\r\n     [aidl] No AIDL files to compile.\r\n     [echo] ----------\r\n
[echo] Handling RenderScript files...\r\n     [echo] ----------\r\n     [echo] H
andling Resources...\r\n     [aapt] Generating resource IDs...\r\n     [echo] --
--------\r\n     [echo] Handling BuildConfig class...\r\n[buildconfig] Generatin
g BuildConfig class.\r\n\r\n-pre-compile:\r\n\r\n-compile:\r\n    [javac] Compil
ing 73 source files to C:\\wamp\\tests\\cordova-test\\platforms\\
android\\CordovaLib\\bin\\classes\r\n    [javac] C:\\wamp\\root\\tests\
\cordova-test\\platforms\\android\\CordovaLib\\src\\com\\squareup\\okhttp\\inter
nal\\http\\HttpEngine.java:95: error: cannot access RouteSelector\r\n    [javac]
   protected RouteSelector routeSelector;\r\n    [javac]             ^\r\n    [j
avac]   bad source file: C:\\wamp\\tests\\cordova-test\\platforms
\\android\\CordovaLib\\src\\com\\squareup\\okhttp\\internal\\http\\RouteSelector
.java\r\n    [javac]     file does not contain class com.squareup.okhttp.interna
l.http.RouteSelector\r\n    [javac]     Please remove or make sure it appears in
 the correct subdirectory of the sourcepath.\r\n',
  '\r\nBUILD FAILED\r\nC:\\adt-bundle-windows-x86_64-20131030\\sdk\\tools\\ant\\
build.xml:601: The following error occurred while executing this line:\r\nC:\\ad
t-bundle-windows-x86_64-20131030\\sdk\\tools\\ant\\build.xml:720: The following
error occurred while executing this line:\r\nC:\\adt-bundle-windows-x86_64-20131
030\\sdk\\tools\\ant\\build.xml:734: Compile failed; see the compiler error outp
ut for details.\r\n\r\nTotal time: 2 seconds\r\n' ]

Error executing "ant debug -f "C:\wamp\tests\cordova-test\platforms
\android\build.xml"":
BUILD FAILED
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:601: The following
 error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:720: The following
 error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:734: Compile faile
d; see the compiler error output for details.

Total time: 2 seconds


child_process.spawn(cmd,[/c, C:\wamp\tests\cordova-test\platforms\a
ndroid\cordova\build]) = 2
Error: An error occurred while building the android project.Error executing "ant
 debug -f "C:\wamp\tests\cordova-test\platforms\android\build.xml""
:
BUILD FAILED
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:601: The following
 error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:720: The following
 error occurred while executing this line:
C:\adt-bundle-windows-x86_64-20131030\sdk\tools\ant\build.xml:734: Compile faile
d; see the compiler error output for details.

Total time: 2 seconds


    at ChildProcess.<anonymous> (C:\Users\Ivan\AppData\Roaming\npm\node_modules\
cordova\src\compile.js:65:22)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Socket.<anonymous> (child_process.js:948:11)
    at Socket.EventEmitter.emit (events.js:95:17)
    at Pipe.close (net.js:466:12)

C:\wamp\tests\cordova-test>

【问题讨论】:

  • 当你更新sdk时,你是保留旧的sdk还是卸载它? (如果在 androidmanifest.xml 中您的目标是您的计算机上不再存在的 sdk,则可能是一个问题)。否则,请尝试在命令中添加 -d 以获得额外信息。
  • QuickFix 我已经重装了它,我遇到了一些其他问题,它是重装SDK的修复之一。
  • 那么你的androidmanifest.xml 中的目标sdk 是否与你安装的sdk 匹配?
  • @QuickFix 我正在查看项目 AndroidManifest.xml 文件,但没有看到任何路径,如果我查看的文件有误,请见谅。
  • 你应该找到一行&lt;uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" /&gt;。重要的是 android:targetSdkVersion 编号。它是编译时将使用的 api 编号,因此它必须与已安装的 sdk 平台的 API 编号匹配。

标签: android cordova cordova-3


【解决方案1】:

我也有一台装有 Windows 7 64 位的笔记本电脑,我通过以下方式解决了这个问题

  • http://ant.apache.org/下载ANT的最新版本
  • 解压缩并将文件放在磁盘中的正确位置
  • 复制Windows PATH变量ANTbin文件夹的绝对方向强>。

    I.E.就我而言。 D:\apache-ant-1.9.4\bin

  • 在 CMD 中检查 ant -version 是否正常工作。这应该会显示下载的 ANT 版本(如果不工作,请再次检查 PATH 变量,然后再执行下一步)

  • 在 CMD 中转到 cordova 项目文件夹并再次运行 cordova build android。如果上一步有效,您应该毫无问题地构建您的项目。如果您的项目是 Ionic 项目,您应该在此处运行 ionic build android,结果应该相同。

希望对你有所帮助。

问候!

【讨论】:

    【解决方案2】:

    尝试获取最新版本的android平台。

    cordova platform update android
    

    对我有用

    【讨论】:

      【解决方案3】:

      在您的终端中尝试 ant -v 并确保它高于 1.8。科尔多瓦要求这样做。还要检查 Ant、Android-SDK/tools 和 Android-SDK/platformtools 的路径是否正确

      要调试确切的问题,请尝试$Cordova build android --verbose

      【讨论】:

      • 你好,我有1.9.3 ant版本,尝试重新安装android sdk,放到c:\文件夹下,相信路径设置正确。当我尝试在命令行中运行每个命令时,我没有看到任何错误,使用 -v 参数我得到这个错误: [j avac] bad source file: C:\\xampp\\htdocs\\root\\tests\ \cordova-test\\platforms \\android\\CordovaLib\\src\\com\\squareup\\okhttp\\internal\\http\\RouteSelector .java\r\n [javac] 文件不包含 com 类。 squareup.okhttp.interna l.http.RouteSelector\r\n [javac] 请删除或确保它出现在源路径的正确子目录中。\r\n',
      • 我已经编辑了问题并添加了详细的输出。看看,我不知道做什么更多。我已经重新安装了sdk,ant,更新环境路径。测试 cmd 行以查看路径是否正确。不知道还能做什么。
      【解决方案4】:

      问题出在环境变量路径中,ANDROID_HOME 指向:“C:\Program Files (x86)\Android\android-studio\sdk”,我刚刚添加了一个 PROGRAM_FILES_86 指向:C:\Program Files ( x86) 并使用 PROGRAM_FILES_86 变量再次设置 ANDROID_HOME 路径。这样就解决了问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-12-09
        • 1970-01-01
        • 2020-06-05
        • 1970-01-01
        • 2018-08-11
        • 2020-04-30
        • 2018-02-13
        • 1970-01-01
        相关资源
        最近更新 更多