使用android构建Cocos2d-x项目:“package org.apache.http不存在”

时间:2016-02-22 11:59:25

标签: android cocos2d-x cocos2d-android cocos3d

我正在尝试将我的cocos项目构建到android。

首先,我运行了以下命令:

cocos run -s {my_project_path} -p android

我收到了未找到的包和符号的错误,这是第一个错误:

error: package org.apache.http does not exist
import org.apache.http.Header; 

以及未找到的项目列表之后:

BUILD FAILED
......\AppData\Local\Android\sdk\tools\ant\build.xml:597: The following error occurred while executing this line:
......\AppData\Local\Android\sdk\tools\ant\build.xml:716: The following error occurred while executing this line:
......\AppData\Local\Android\sdk\tools\ant\build.xml:730: Compile failed; see the compiler error output for details.

我读过它可能是因为我的android项目版本是23。

所以我将android.properties文件中的版本字段编辑为22

并运行下一个命令:

cocos run -s {my_project_path} -p android --ap android-22.

第一个构建输出行说它使用了android 22 api,但是在构建过程中,由于某种原因它开始使用版本23并且我收到了相同的错误。

有没有人有这些错误?

谢谢你, 本

3 个答案:

答案 0 :(得分:0)

那是因为android 6.0中不支持HttpClient

https://developer.android.com/about/versions/marshmallow/android-6.0-changes.html

您可以在此处阅读详细信息:

https://stackoverflow.com/a/32153434/1264375

无论如何,解决这个问题的最简单方法是将api级别更改为22(正如您所说)。但你必须在AndroidManifest中做到这一点(在我的情况下我使用的是api level 19):

<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19"/>

此外,您还必须在Android部分的eclipse项目设置中更改api级别。

答案 1 :(得分:0)

如果您想使用 Android API 22 ,请务必通过 SDK Manager 下载。

使其与 Android API 23 一起使用的解决方案之一是复制文件

[ANDROID SDK PATH] \ sdk \ platforms \ android-23 \ optional \ org.apache.http.legacy.jar

[PROJECT PATH] \ cocos2d \ cocos \ platform \ android \ java \ libs

在编译项目之前。它对我有用。

来源:http://discuss.cocos2d-x.org/t/android-23-6-0-compile-errors-import-org-apache-http-header/26876/2?u=theslyest

答案 2 :(得分:0)

与其他评论一样,Android 6.0中不支持HttpClient:

所以,请按照此处的步骤操作。为我和其他人工作。 http://discuss.cocos2d-x.org/t/cant-compile-to-android/26874/3