2017-04-21 7 views
5

मैं cocos2d-x का उपयोग कर खेल के विकास कर रहा हूँ मैं सफलतापूर्वक iOS, MacOS और win32 पर यह खेल रहा हूँ लेकिन इस समय मैं एंड्रॉयड पर लॉन्च करने का प्रयास मुद्दा हो रहा है लॉन्च नहीं किया जा सकता है। संकलन और स्थापना पूरी हो गई है, मैं उस समस्या के कारण इसे लॉन्च नहीं कर सकता जिसे मैं समझ नहीं सकता/देख सकता हूं। क्या कोई समस्या के बारे में मुझे मदद या संकेत दे सकता है?Cocos2d-x स्थापित आवेदन पर एंड्रॉयड

जानकारी:। वास्तविक डिवाइस, Android संस्करण 4.4.4 पर परीक्षण, Cocos2d-एक्स-3.13.1, C++, 4.4.2 लक्षित करते हैं, Neon.1a रिलीज़ (4.6.1), मैक ओएस ग्रहण।

यदि अतिरिक्त जानकारी आवश्यक है तो मैं इसे प्रदान कर सकता हूं।

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): [email protected] 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): [email protected] 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: [email protected] attribute=null, token = [email protected] 
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): [email protected] 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): [email protected] 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): [email protected] 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): [email protected] > 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) 
+0

आप ग JNI के माध्यम से ++ से 'getCocos2dxPackageName' विधि कर रहे हैं? – Aryan

+0

@ अभिषेक आर्यन मुझे नहीं लगता कि मैं इसे बुला रहा हूं। – Darvydas

+0

@ अभिषेक आर्यन मैंने इसे नहीं लिखा है। क्या ऐसा इसलिए हो सकता है क्योंकि मैं स्क्लाइट या पैकेज नाम के साथ कुछ उपयोग कर रहा हूं? – Darvydas

उत्तर

0

में यह समस्या थी externके कारण Constants में। यह मैं बदल ठीक करने के लिए (Constants.cpp):

cocos2d::UserDefault *userDefaults = cocos2d::UserDefault::getInstance(); 

Constants.hpp:

extern cocos2d::UserDefault *userDefaults; 

करने के लिए:

Constants.cpp

cocos2d::UserDefault *userDefaults; 

और (012,)

userDefaults = cocos2d::UserDefault::getInstance(); 

Constants.hpp में कोई परिवर्तन नहीं किया है। अनुमतियों की आवश्यकता नहीं है और पैकेज नाम के साथ भी कोई समस्या नहीं थी।

Logcat संदेशों में सहायक नहीं था ...

+0

क्या आपने यह पता लगाया है कि 'बाहरी cocos2d :: UserDefault * userDefaults में समस्या क्या है; ' – Aryan

+0

का मतलब है कि' INSTALL_LOCATION_PROVIDER' को हटाने और' INTERACT_ACROSS_USERS_FULL' अनुमति जोड़ने से आपके लिए सहायक नहीं है? – Aryan

+0

@ अभिषेक आर्यन मैंने उन समस्याओं के बिना नई परियोजना पर इस समस्या को ट्रैक किया और यह काम किया। मैंने अभी कहा है कि लॉगकैट त्रुटियां बिल्कुल सहायक नहीं थीं। समस्या ** cocos2d :: UserDefault :: getInstance(); ** ** Constants.cpp ** फ़ाइल में थी इसलिए मैंने इसे ** AppDelegate ** पर ले जाया लेकिन मुझे नहीं पता कि यह क्यों हो रहा था। – Darvydas

1
<uses-permission android:name="android.permission.INSTALL_LOCATION_PROVIDER"/> 

Manifest फ़ाइल से इस अनुमति को हटा दें। आप केवल normal और Dangerous अनुमति का उपयोग कर सकते हैं।

एक तृतीय-पक्ष डेवलपर अपने आवेदन को एक नया स्थान प्रदाता (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

+0

टिप्पणियां विस्तारित चर्चा के लिए नहीं हैं; यह वार्तालाप [चैट करने के लिए स्थानांतरित हो गया है] (http://chat.stackoverflow.com/rooms/143612/discussion-on-answer-by-abhishek-aryan-cocos2d-x-installed-plication-cant-be)। –

संबंधित मुद्दे