2016-06-24 16 views
1

Es ist schon Tage her, herauszufinden, worum es bei diesem Fehler genau geht und wo das Debuggen beginnt. Alles funktionierte gut, bis ich ein paar Änderungen an meinen AppDelegate.cpp und AppDelegate.h Dateien (für das Hinzufügen unterschiedlicher Bildschirmauflösung für verschiedene Geräte) vorgenommen habe. Ich habe sogar versucht, beide durch die in der Vorlage zu ersetzen. ..\cocos2d-x-3.4\templates\cpp-template-default\Classes aber immer noch kein Glück. Jedesmal, wenn ich meine app laufen stürzt es mit dem Fehler nach unten:Fehler Fatal signal 11 (SIGSEGV) cocos2d-x android

A/libc(26081): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 26112 (GLThread 957)

Was verstehe ich tat, war, dass Signal 11 Segmentierungsfehler ist. Das bedeutet, dass das Programm versucht, auf den Speicher zuzugreifen, für den es keine Berechtigung hat, aber wohin gehe ich, um die Dinge jetzt funktionieren zu lassen?

LogCat:

06-24 10:59:03.737: D/JniHelper(26081): JniHelper::setJavaVM(0xf4e7c000), pthread_self() = -150738124 
06-24 10:59:03.749: D/main(26081): cocos_android_app_init 
06-24 10:59:03.759: D/Cocos2dxActivity(26081): model=Nexus 6P 
06-24 10:59:03.759: D/Cocos2dxActivity(26081): product=angler 
06-24 10:59:03.760: D/Cocos2dxActivity(26081): isEmulator=false 
06-24 10:59:03.801: I/Adreno(26081): QUALCOMM build     : 63c06b2, I8366cd0437 
06-24 10:59:03.801: I/Adreno(26081): Build Date      : 12/06/15 
06-24 10:59:03.801: I/Adreno(26081): OpenGL ES Shader Compiler Version: XE031.05.13.02 
06-24 10:59:03.801: I/Adreno(26081): Local Branch      : mybranch17112971 
06-24 10:59:03.801: I/Adreno(26081): Remote Branch     : quic/LA.BF64.1.2.9_v2 
06-24 10:59:03.801: I/Adreno(26081): Remote Branch     : NONE 
06-24 10:59:03.801: I/Adreno(26081): Reconstruct Branch    : NOTHING 
06-24 10:59:04.193: A/libc(26081): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 26112 (GLThread 957) 

ErrorImage

Könnte dies durch mehr als ein Thread auf einmal die gleiche native Methode auf demselben Objekt Aufruf verursacht werden? Wenn ja, wie kann ich möglicherweise synchronisieren und sicherstellen, dass der Code threadsicher ist? Ich habe auch andere Geräte überprüft, um zu bestätigen, dass es sich nicht um einen Fehler in der Firmware des Geräts handelt.

Antwort

0

Also nach der Überprüfung alles, das einzige, was dies gelöst wurde, war absolute Pfad in Android.mk Datei unter meiner Projektstruktur als;

> project 
    > jni 
    > Android.mk 

Außerdem Stellen Sie sicher, richtig android-support-v4.jar aufgenommen haben. Gehen Sie zu Ihrem

> project properties 
    > Java Build Path 
    > Source 

Klicken Sie auf Link Source die Dateien hinzuzufügen.

Darüber hinaus hilft manchmal auch das Projekt zu reinigen und dann wieder aufzubauen.

Verwandte Themen