我正在使用cocos2d-x开发游戏我在iOS,MacOS和win32上成功播放它但是目前我在尝试在 Android上启动它时遇到问题.编译和安装完成我无法启动它因为我无法理解/看到的问题.有人可以帮忙或暗示
信息:在真实设备上测试,Android版本4.4.4.,cocos2d-x-3.13.1,c,目标4.4.2,eclipse Neon.1a版本(4.6.1),mac os.
如果需要其他信息,我可以提供.
AndroidManifest.xml中:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.companyName.gameName" android:versionCode="1" android:versionName="1.0" android:installLocation="auto"> <uses-sdk android:minSdkVersion="19"/> <uses-feature android:glEsVersion="0x00020000" /> <application android:label="@string/app_name" android:icon="@drawable/icon"> <!-- Tell Cocos2dxActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="MyGame" /> <activity android:name="org.cocos2dx.cpp.AppActivity" android:label="@string/app_name" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:configChanges="orientation|keyboardHidden|screenSize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <supports-screens android:anyDensity="true" android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true"/> <uses-permission android:name="android.permission.INTERNET"/> <permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>
LogCat(警告,错误,断言):
04-21 09:49:49.917: E/Watchdog(596): !@Sync 1245 04-21 09:49:52.780: W/AlarmManager(596): Set alarm: type= 3 triggerAtTime= 143810266 , called by : com.google.android.gms, intent:Intent { cmp=com.google.android.gms/.lockbox.LockboxAlarmReceiver } 04-21 09:49:59.997: W/AlarmManager(596): Set alarm: type= 3 triggerAtTime= 143817481 , called by : android, intent:Intent { act=android.intent.action.TIME_TICK flg=0x50000000 } 04-21 09:50:00.157: W/ResourceType(2304): Failure getting entry for 0x010400da (t=3 e=218) in package 0 (error -75) 04-21 09:50:00.157: E/accuweather(2304): [AccuTab_Magagine]>>> UIMK:1463 [0:0] time : 08:50 04-21 09:50:00.177: W/ResourceType(2304): Failure getting entry for 0x010400da (t=3 e=218) in package 0 (error -75) 04-21 09:50:19.917: E/Watchdog(596): !@Sync 1246 04-21 09:50:36.803: W/ContextImpl(25935): Calling a method in the system process without a qualified user: android.app.ContextImpl.startActivity:1255 android.content.ContextWrapper.startActivity:330 android.content.ContextWrapper.startActivity:330 com.samsung.android.MtpApplication.MtpReceiver$3.handleMessage:786 android.os.Handler.dispatchMessage:102 04-21 09:50:36.813: W/ContextImpl(25935): Calling a method in the system process without a qualified user: android.app.ContextImpl.startActivity:1267 android.app.ContextImpl.startActivity:1256 android.content.ContextWrapper.startActivity:330 android.content.ContextWrapper.startActivity:330 com.samsung.android.MtpApplication.MtpReceiver$3.handleMessage:786 04-21 09:50:37.033: W/ActivityManager(596): mDVFSHelper.acquire() 04-21 09:50:37.043: E/MTPRx(25935): started activity for popup 04-21 09:50:37.154: W/ApplicationPackageManager(25935): getCSCPackageItemText() 04-21 09:50:37.204: E/SettingsReceiverActivity(25935): PREF_DONT_ASK_AGAIN : true 04-21 09:50:37.214: W/InputMethodManagerService(596): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@42ef9528 attribute=null, token = android.os.BinderProxy@42a655d8 04-21 09:50:38.084: W/ApplicationPackageManager(596): getCSCPackageItemText() 04-21 09:50:40.036: W/ActivityManager(596): mDVFSHelper.release() 04-21 09:50:49.916: E/Watchdog(596): !@Sync 1247 04-21 09:50:52.789: W/AlarmManager(596): Set alarm: type= 3 triggerAtTime= 144530276 , called by : android, intent:Intent { act=android.net.ConnectivityService.action.PKT_CNT_SAMPLE_INTERVAL_ELAPSED flg=0x4000000 } 04-21 09:50:52.849: W/AlarmManager(596): Set alarm: type= 3 triggerAtTime= 143870336 , called by : com.google.android.gms, intent:Intent { cmp=com.google.android.gms/.lockbox.LockboxAlarmReceiver } 04-21 09:50:59.996: W/AlarmManager(596): Set alarm: type= 3 triggerAtTime= 143877482 , called by : android, intent:Intent { act=android.intent.action.TIME_TICK flg=0x50000000 } 04-21 09:51:00.076: W/ResourceType(2304): Failure getting entry for 0x010400da (t=3 e=218) in package 0 (error -75) 04-21 09:51:00.076: E/accuweather(2304): [AccuTab_Magagine]>>> UIMK:1463 [0:0] time : 08:51 04-21 09:51:00.096: W/ResourceType(2304): Failure getting entry for 0x010400da (t=3 e=218) in package 0 (error -75) 04-21 09:51:03.719: E/memtrack(26128): Couldn't load memtrack module (No such file or directory) 04-21 09:51:03.719: E/android.os.Debug(26128): failed to load memtrack module: -2 04-21 09:51:03.900: W/ActivityManager(596): No content provider found for permission revoke: file:///data/local/tmp/MyGame.apk 04-21 09:51:19.915: E/Watchdog(596): !@Sync 1248 04-21 09:51:30.275: W/ApplicationPackageManager(25304): getCSCPackageItemText() 04-21 09:51:42.527: W/ActivityManager(596): No content provider found for permission revoke: file:///data/local/tmp/MyGame.apk 04-21 09:51:43.588: E/PackageManager(596): parse pkg : /data/app/vmdl276537072.tmp 04-21 09:51:43.618: E/PackageManager(596): dexopt start 04-21 09:51:44.980: E/PackageManager(596): dexopt end 04-21 09:51:49.915: E/Watchdog(596): !@Sync 1249 04-21 09:51:53.068: W/AlarmManager(596): Set alarm: type= 3 triggerAtTime= 143930557 , called by : com.google.android.gms, intent:Intent { cmp=com.google.android.gms/.lockbox.LockboxAlarmReceiver } 04-21 09:51:56.111: W/PackageManager(596): verifying app can be installed or not 04-21 09:51:56.331: W/PackageManager(596): Not granting permission android.permission.INSTALL_LOCATION_PROVIDER to package com.companyName.GameName (protectionLevel=18 flags=0x8be46) 04-21 09:51:56.511: W/ApplicationPackageManager(596): getCSCPackageItemText() 04-21 09:51:56.561: W/ApplicationPackageManager(596): getCSCPackageItemText() 04-21 09:51:56.771: W/ApplicationPackageManager(596): getCSCPackageItemText() 04-21 09:51:56.781: W/ApplicationPackageManager(930): getCSCPackageItemText() 04-21 09:51:56.781: W/ApplicationPackageManager(930): getCSCPackageItemText() 04-21 09:51:56.781: E/SamsungIME(1471): mOCRHelper is null 04-21 09:51:56.941: W/ApplicationPackageManager(951): getCSCPackageItemText() 04-21 09:51:58.343: W/ApplicationPackageManager(1195): getCSCPackageItemText() 04-21 09:51:58.453: E/EdmStorageProvider(596): Admin not in database, something went wrong 04-21 09:51:59.103: W/AlarmManager(596): Set alarm: type= 0 triggerAtTime= 1492761134119 , called by : com.android.vending, intent:Intent { cmp=com.android.vending/com.google.android.finsky.services.ContentSyncService } 04-21 09:51:59.344: W/IcingInternalCorpora(1352): getNumBytesRead when not calculated. 04-21 09:51:59.354: E/memtrack(26153): Couldn't load memtrack module (No such file or directory) 04-21 09:51:59.354: E/android.os.Debug(26153): failed to load memtrack module: -2 04-21 09:51:59.504: E/Finsky(25304): [1] com.google.android.finsky.wear.bl.a(847): onConnectionFailed: ConnectionResult{statusCode=API_UNAVAILABLE, resolution=null, message=null} 04-21 09:51:59.814: W/ActivityManager(596): mDVFSHelper.acquire() 04-21 09:51:59.994: W/AlarmManager(596): Set alarm: type= 3 triggerAtTime= 143937482 , called by : android, intent:Intent { act=android.intent.action.TIME_TICK flg=0x50000000 } 04-21 09:52:00.215: W/ActivityManager(596): Permission Denial: getCurrentUser() from pid=26179, uid=10129 requires android.permission.INTERACT_ACROSS_USERS 04-21 09:52:00.245: W/ApplicationPackageManager(26179): getCSCPackageItemText() 04-21 09:52:00.275: W/ActivityManager(596): Permission Denial: getCurrentUser() from pid=26179, uid=10129 requires android.permission.INTERACT_ACROSS_USERS 04-21 09:52:00.615: E/JniHelper(26179): Failed to find static java method. Class name: (null), method name: getCocos2dxPackageName, signature: ()Ljava/lang/String; 04-21 09:52:00.615: W/ResourceType(2304): Failure getting entry for 0x010400da (t=3 e=218) in package 0 (error -75) 04-21 09:52:00.625: A/libc(26179): Fatal signal 11 (SIGSEGV) at 0xfffffff4 (code=1), thread 26179 (peFromTheIsland) 04-21 09:52:00.635: E/accuweather(2304): [AccuTab_Magagine]>>> UIMK:1463 [0:0] time : 08:52 04-21 09:52:00.645: W/ResourceType(2304): Failure getting entry for 0x010400da (t=3 e=218) in package 0 (error -75) 04-21 09:52:00.865: W/SQLiteConnectionPool(1352): A SQLiteConnection object for database '+data+data+com_google_android_gms+databases+metrics_db' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed. 04-21 09:52:00.875: W/SQLiteConnectionPool(1352): A SQLiteConnection object for database '+data+data+com_google_android_gms+databases+help_responses_db_18' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed. 04-21 09:52:00.875: W/SQLiteConnectionPool(1352): A SQLiteConnection object for database '+data+data+com_google_android_gms+databases+auto_complete_suggestions_db' was leaked! Please fix your application to end transactions in progress properly and to close the database when it is no longer needed. 04-21 09:52:00.875: W/ApplicationPackageManager(1352): getCSCPackageItemText() 04-21 09:52:01.165: W/ActivityManager(596): Force finishing activity com.companyName.GameName/org.cocos2dx.cpp.AppActivity 04-21 09:52:01.206: W/ApplicationPackageManager(596): getCSCPackageItemText() 04-21 09:52:01.216: W/ApplicationPackageManager(596): getCSCPackageItemText() 04-21 09:52:01.516: E/android.os.Debug(596): !@Dumpstate > dumpstate -k -t -z -d -m 26179 -o /data/log/dumpstate_app_error 04-21 09:52:01.596: W/ContextImpl(596): Calling a method in the system process without a qualified user: android.app.ContextImpl.sendBroadcast:1372 com.android.server.analytics.data.collection.application.CrashAnrDetector.broadcastEvent:296 com.android.server.analytics.data.collection.application.CrashAnrDetector.processDropBoxEntry:254 com.android.server.analytics.data.collection.application.CrashAnrDetector.access$100:60 com.android.server.analytics.data.collection.application.CrashAnrDetector$1.onReceive:102 04-21 09:52:01.716: W/ActivityManager(596): Activity pause timeout for ActivityRecord{425a2d00 u0 com.companyName.GameName/org.cocos2dx.cpp.AppActivity t89 f} 04-21 09:52:01.906: W/ActivityManager(596): mDVFSHelper.release() 04-21 09:52:02.577: W/ApplicationPackageManager(596): getCSCPackageItemText()
LogCat(过滤应用程序(完整版)):
04-21 09:52:00.185: D/ActivityThread(26179): handleBindApplication:com.companyName.gameName 04-21 09:52:00.245: W/ApplicationPackageManager(26179): getCSCPackageItemText() 04-21 09:52:00.265: D/DisplayManager(26179): DisplayManager() 04-21 09:52:00.305: D/dalvikvm(26179): Trying to load lib /data/app-lib/com.companyName.gameName-1/libMyGame.so 0x41ccab70 04-21 09:52:00.615: E/JniHelper(26179): Failed to find static java method. Class name: (null), method name: getCocos2dxPackageName, signature: ()Ljava/lang/String; 04-21 09:52:00.625: A/libc(26179): Fatal signal 11 (SIGSEGV) at 0xfffffff4 (code=1), thread 26179 (peFromTheIsland)
<uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"/>
从Manifest文件中删除此权限.您只能使用正常和危险许可.
第三方开发人员无法向其应用程序授予安装新位置提供程序(android.permission.INSTALL_LOCATION_PROVIDER)所需的权限.只允许OEM安装新的位置提供程序.
编辑
<permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>
编辑
检查包名称我在AndroidManifest.xml中看到com.companyName.gameName,您正在使用包com.companyName.GameName运行您的应用程序,AppActivity在org.cocos2dx.cpp中