我正在尝试将我的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并且我收到了相同的错误。
有没有人有这些错误?
谢谢你, 本
答案 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
在编译项目之前。它对我有用。
答案 2 :(得分:0)
与其他评论一样,Android 6.0中不支持HttpClient:
所以,请按照此处的步骤操作。为我和其他人工作。 http://discuss.cocos2d-x.org/t/cant-compile-to-android/26874/3