axmol/docs/RELEASE_NOTES.md

2.9 KiB

Table of Contents generated with DocToc

Cocos2d-x 3.13.1 Release Notes

Misc Information

v3.13.1

Bug fixed

  • Label color broken
  • application will crash in debug mode if don't specify a design resolution
  • may crash if coming from background by clicking application icon on Android
  • AudioEngine can not play audio if the audio lies outside APK on Android
  • AudioEngine::stop() will trigger finish callback on Android
  • application will crash if using SimpleAudioEngine or new AudioEngine to play audio on Android 2.3.x
  • object.setString() has not effect if passing a number on JSB

Cocos command modifications

Prior to v3.13 the cocos command would find an Android API level >= a specified Android API level inorder to build source codes on Android. For example, if the contents of APP_ROOT/proj.android/project.properties is:

target=android-13 // the default android api level
android.library.reference.1=../../../cocos/platform/android/java

then the cocos command will find android-13 in ANDROID_SDK_ROOT/platforms. If android-13 is not found then it will try to find android-14. If android-14 is not found, then it will find android-15 and so on until it finds one.

This algorithm has a problem. If you only download Android 21, then your application will be built with Android 21 even though the default API level is 13. If your application runs on a device with a lower Android OS, such as Android 4.0, then your application may crash. Building with a higher API level does not ensure that your application will run on devices with a lower Android OS.

Starting in v3.13.1, the cocos command will stop if it can not find a specific API level. The default is android-13. If you want to build with a higher level Android SDK, you should explicitely specify it. Example:

cocos compile -p android --ap android-19

Keep in mind that, after running this command, the contents of APP_ROOT/proj.android/project.properties will be changed, android-19 will now be the default API level.

There is a map between Android API level and Android OS version that you can refer to for detailed information.

There is also more detailed information in our GitHub repo about this issue.