使用Android SDK 25编译的项目在真机上运行报错

11-01 13:26:42.973: E/OemPhoneWindowManager(8167): Could not write to file /proc/touchpanel/tpedge_limit_enable 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): java.io.FileNotFoundException: /proc/touchpanel/tpedge_limit_enable: open failed: ENOENT (No such file or directory) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at libcore.io.IoBridge.open(IoBridge.java:452) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at java.io.FileOutputStream.<init>(FileOutputStream.java:87) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at java.io.FileOutputStream.<init>(FileOutputStream.java:127) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at java.io.FileOutputStream.<init>(FileOutputStream.java:116) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.policy.OemPhoneWindowManager.setRotationLw(OemPhoneWindowManager.java:1681) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.updateRotationUncheckedLocked(WindowManagerService.java:6668) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.updateOrientationFromAppTokensLocked(WindowManagerService.java:4045) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.updateOrientationFromAppTokensLocked(WindowManagerService.java:3987) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.updateOrientationFromAppTokens(WindowManagerService.java:3972) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.am.ActivityStackSupervisor.realStartActivityLocked(ActivityStackSupervisor.java:1240) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.am.ActivityStackSupervisor.attachApplicationLocked(ActivityStackSupervisor.java:653) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.am.ActivityManagerService.attachApplicationLocked(ActivityManagerService.java:6674) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.am.ActivityManagerService.attachApplication(ActivityManagerService.java:6737) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:529) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2731) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at android.os.Binder.execTransact(Binder.java:467) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at libcore.io.Posix.open(Native Method) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): at libcore.io.IoBridge.open(IoBridge.java:438) 11-01 13:26:42.973: E/OemPhoneWindowManager(8167): ... 15 more 11-01 13:26:42.985: E/msm8974_platform(7976): wdd add mixer_path low-latency-playback prop_value 14001 11-01 13:26:43.125: E/AndroidRuntime(23309): FATAL EXCEPTION: main 11-01 13:26:43.125: E/AndroidRuntime(23309): Process: org.cocos2d.helloworld, PID: 23309 11-01 13:26:43.125: E/AndroidRuntime(23309): java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memset" referenced by "/data/app/org.cocos2d.helloworld-1/lib/arm/libcocos2djs.so"... 11-01 13:26:43.125: E/AndroidRuntime(23309): at java.lang.Runtime.loadLibrary(Runtime.java:372) 11-01 13:26:43.125: E/AndroidRuntime(23309): at java.lang.System.loadLibrary(System.java:1076) 11-01 13:26:43.125: E/AndroidRuntime(23309): at org.cocos2dx.lib.Cocos2dxActivity.onLoadNativeLibraries(Cocos2dxActivity.java:249) 11-01 13:26:43.125: E/AndroidRuntime(23309): at org.cocos2dx.lib.Cocos2dxActivity.onCreate(Cocos2dxActivity.java:265) 11-01 13:26:43.125: E/AndroidRuntime(23309): at org.cocos2dx.javascript.AppActivity.onCreate(AppActivity.java:49) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.app.Activity.performCreate(Activity.java:6289) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2405) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2535) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.app.ActivityThread.access$900(ActivityThread.java:155) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1380) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.os.Handler.dispatchMessage(Handler.java:102) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.os.Looper.loop(Looper.java:148) 11-01 13:26:43.125: E/AndroidRuntime(23309): at android.app.ActivityThread.main(ActivityThread.java:5490) 11-01 13:26:43.125: E/AndroidRuntime(23309): at java.lang.reflect.Method.invoke(Native Method) 11-01 13:26:43.125: E/AndroidRuntime(23309): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 11-01 13:26:43.125: E/AndroidRuntime(23309): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): Could not write to file /proc/touchpanel/tpedge_limit_enable 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): java.io.FileNotFoundException: /proc/touchpanel/tpedge_limit_enable: open failed: ENOENT (No such file or directory) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at libcore.io.IoBridge.open(IoBridge.java:452) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at java.io.FileOutputStream.<init>(FileOutputStream.java:87) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at java.io.FileOutputStream.<init>(FileOutputStream.java:127) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at java.io.FileOutputStream.<init>(FileOutputStream.java:116) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at com.android.server.policy.OemPhoneWindowManager.setRotationLw(OemPhoneWindowManager.java:1681) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.updateRotationUncheckedLocked(WindowManagerService.java:6668) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.performLayoutAndPlaceSurfacesLockedInner(WindowManagerService.java:10416) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.performLayoutAndPlaceSurfacesLockedLoop(WindowManagerService.java:9047) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.performLayoutAndPlaceSurfacesLocked(WindowManagerService.java:8994) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService.access$400(WindowManagerService.java:190) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at com.android.server.wm.WindowManagerService$H.handleMessage(WindowManagerService.java:7889) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at android.os.Handler.dispatchMessage(Handler.java:102) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at android.os.Looper.loop(Looper.java:148) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at android.os.HandlerThread.run(HandlerThread.java:61) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at com.android.server.ServiceThread.run(ServiceThread.java:46) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at libcore.io.Posix.open(Native Method) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): at libcore.io.IoBridge.open(IoBridge.java:438) 11-01 13:26:43.908: E/OemPhoneWindowManager(8167): ... 14 more 11-01 13:26:44.008: E/AppsCustomizePagedView(27616): Widget ComponentInfo{com.oneplus.note/com.oneplus.note.ui.WidgetProvider} can not fit on this device (780, 840) 11-01 13:26:44.009: E/AppsCustomizePagedView(27616): Widget ComponentInfo{com.oneplus.card/com.oneplus.card.widget.CardWidgetProvider} can not fit on this device (780, 711) 11-01 13:26:44.009: E/AppsCustomizePagedView(27616): Widget ComponentInfo{com.android.browser/com.tencent.mtt.widget.androidwidget.QBAppWidgetProvider} can not fit on this device (840, 102) 11-01 13:26:44.014: E/AppsCustomizePagedView(27616): Widget ComponentInfo{com.oneplus.hydrogen.launcher/com.oneplus.hydrogen.launcher.provider.ClockFirstStyleWidgetProvider} can not fit on this device (810, 270) 11-01 13:26:44.016: E/AppsCustomizePagedView(27616): Widget ComponentInfo{com.oneplus.calendar/com.android.calendar.oneplus.appwidget.OPCalendarAppWidgetProvider} can not fit on this device (924, 750) 11-01 13:26:44.017: E/AppsCustomizePagedView(27616): Widget ComponentInfo{net.oneplus.weather/net.oneplus.weather.widget.widget.WidgetProviderRoundDate} can not fit on this device (960, 480) 11-01 13:26:44.026: E/AppsCustomizePagedView(27616): Widget ComponentInfo{net.oneplus.weather/net.oneplus.weather.widget.widget.WidgetProviderRound} can not fit on this device (960, 480) 11-01 13:26:44.027: E/AppsCustomizePagedView(27616): Widget ComponentInfo{com.android.protips/com.android.protips.ProtipWidget} can not fit on this device (882, 216) 11-01 13:26:44.855: E/LocationManagerService(8167): requestLocationUpdates: uid=10060, pid=21245, provider=gps, package=net.oneplus.weather listener= android.location.ILocationListener$Stub$Proxy@a68023b intent= null 11-01 13:26:45.054: E/LocationManagerService(8167): removeUpdates: uid=10060, pid=21245, intent=null, package=net.oneplus.weather listener android.location.ILocationListener$Stub$Proxy@9327eb1 intent= null 11-01 13:26:46.278: E/msm8974_platform(7976): wdd add mixer_path low-latency-playback prop_value 14001
模拟器可以正常运行,真机报错如上。测试用例是用的creator自带的例子
开发系统是macosx Sierra,creator版本1.3.0

选个低一点的 api level 试试,19 ?

果然是版本太高了,换成23就好了,另外,建议把发布后依赖的libcocos2dx的java编译版本指定为1.6,现在是使用默认的,如果开发者下载的是1.8的jdk,在eclipse里编译的时候很容易卡住。

这个问题跟 Android API Level 的兼容性有关。建议不要使用太高的 API Level 进行编译(目前推荐使用 API Level 10)。

我的开发环境一直是 1.8 版本的 jdk,并没有遇到卡住的问题。

HelloWorld使用java1.6编译的,但cocos2d是使用java1.8编译的,在android里两个关联的项目使用的java编译版本不一致,你确定你能正常编译?