【问题标题】:Cocos2d-x fails to build android APKCocos2d-x 无法构建android APK
【发布时间】:2017-06-24 19:39:51
【问题描述】:

我创建了一个 cocos2d-x(3.14.1 和 3.15.1)项目,我稍微修改了模板并添加了新的精灵。这在 VS 中编译得很好,应用程序似乎可以运行。我想构建android apk所以我尝试了这两个命令(api级别android-21和24,也使用android-ndk-r15):

cocos deploy -p android
cocos deploy -p android --android-studio

它似乎开始正确构建,但最终失败并出现以下错误:

    D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp: In
constructor 'cocos2d::experimental::AudioDecoder::AudioDecoder(SLEngineItf, cons
t string&, int, int, const FdGetterCallback&)':
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp:108:
73: error: 'malloc' was not declared in this scope
     _pcmData = (char*) malloc(NB_BUFFERS_IN_QUEUE * BUFFER_SIZE_IN_BYTES);
                                                                         ^
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp: In
destructor 'virtual cocos2d::experimental::AudioDecoder::~AudioDecoder()':
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp:126:
18: error: 'free' was not declared in this scope
     free(_pcmData);
                  ^
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp: In
member function 'bool cocos2d::experimental::AudioDecoder::decodeToPcm()':
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp:405:
52: error: 'malloc' was not declared in this scope
         keyInfo = (SLMetadataInfo *) malloc(keySize);
                                                    ^
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp:434:
25: error: 'free' was not declared in this scope
             free(keyInfo);
                         ^
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp: In
member function 'bool cocos2d::experimental::AudioDecoder::resample()':
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp:504:
42: error: 'malloc' was not declared in this scope
     void *outputVAddr = malloc(outputSize);
                                          ^
D:/coco2d/flappybird/RetroBird/cocos2d/cocos/audio/android/AudioDecoder.cpp:594:
17: error: 'free' was not declared in this scope
     free(convert);
                 ^
[armeabi] Compile++ thumb: audioengine_static <= PcmBufferProvider.cpp
make: *** [obj/local/armeabi/objs-debug/audioengine_static/AudioDecoder.o] Error
 1
make: *** Waiting for unfinished jobs....
[armeabi] Compile++ thumb: audioengine_static <= PcmAudioPlayer.cpp
make: Leaving directory `D:/coco2d/flappybird/RetroBird/proj.android-studio/app'

Error running command, return code: 2.

【问题讨论】:

  • 您是否尝试过使用 Android Studio 进行部署?

标签: cocos2d-x cocos2d-x-3.0


【解决方案1】:

你正在使用Android-ndk-r15 所以,

将以下内容添加到您的Android.mk

APP_DEPRECATED_HEADERS := true

看看这个link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-15
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    相关资源
    最近更新 更多