android 4.4 运行直接闪退

Creator: 1.9.1
Android: 4.4.4

崩溃日志:
04-26 14:59:22.422 800-800/? E/RemoteViews: ANR Warning,RemoteViews can only be used once ,if not ,it may cause ANR in hosts such as Laucher,SystemUI. keys for search
04-26 14:59:22.422 3470-3470/org.cocos2d.helloworld E/AndroidRuntime: FATAL EXCEPTION: main
Process: org.cocos2d.helloworld, PID: 3470
java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol “sigfillset” referenced by “libcocos2djs.so”…
at java.lang.Runtime.loadLibrary(Runtime.java:378)
at java.lang.System.loadLibrary(System.java:540)
at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:249)
at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:280)
at org.cocos2dx.javascript.AppActivity.onCreate(AppActivity.java:41)
at android.app.Activity.performCreate(Activity.java:5463)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2418)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2526)
at android.app.ActivityThread.access$800(ActivityThread.java:174)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1398)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loop(Looper.java:229)
at android.app.ActivityThread.main(ActivityThread.java:5493)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:676)
at dalvik.system.NativeStart.main(Native Method)

build.gradle部分配置:
apply plugin: ‘com.android.application’

android {
compileSdkVersion 26
buildToolsVersion ‘26.0.2’

defaultConfig {
    applicationId "org.cocos2d.helloworld"
    minSdkVersion 10
    targetSdkVersion PROP_TARGET_SDK_VERSION
    versionCode 1
    versionName "1.0"

}
}

这是一个空项目,在小米6,android8.0上是正常的,这个符号找不到,是需要更换ndk版本吗,更换到什么版本呢
@dumganhar

android工程模版是defual
如果使用binary模板,缺少的symbol就变成了 “rand”了

人工置顶,晾凉

我也遇到同样的问题, 如果有解决方案吱一声, 希望官方团队重视一下

切换ndk版本到r10e,然后编译ndk的level选择15

那androidstudio里面 targetVersion 选多少

尝试在 Android Studio 中手动更改 Gradle 配置,

  1. targetSdkVersion / compileSdkVersion 都设置为 26
  2. NDK换用较新的 NDK r16.
  3. minSdkVersion 10 改为 minSdkVersion 16(android 4.1)
  4. arguments 'APP_PLATFORM=android-'+PROP_TARGET_SDK_VERSION 删除

这是来自 cocos2d-x 的配置经验,尝试后,麻烦给一下反馈

NDK r16.
API LEAEL选14
targetSdkVersion / compileSdkVersion 都设置为 22
现在暂时测试不闪退了

APP_PLATFORM 正常情况下要设置为 minSdkVersion 的版本,不设置的时候 AS 会自动设置为 minSdkVersion ,可以参考:

https://stackoverflow.com/questions/21888052/what-is-the-relation-between-app-platform-androidminsdkversion-and-androidtar

1赞