0

私のアプリは、エミュレーターで実行した場合にのみSIGILLフォールトをトリガーします。アプリはActionBarSherlockを使用しており、最小のSDKターゲットはAPIレベル8です。ネイティブコードが実行されると障害がトリガーされます(Javaで記述されたアプリの残りの部分は機能しているようです)。さまざまなエミュレーターのセットアップを試しましたが、成功しませんでした。障害のある特定のコードはありません。障害のある関数にコメントすると、SIGILLは他の関数によって他の時点でトリガーされます。マクロLOGIを使用してコンソールに書き込みを行い、ネイティブコード関数が適切に呼び出されます。何が起こっているのか全くわかりません。アプリは2つの異なる電話で完全に動作しています(android2.3.4を実行しているarmv6rev5とandroid4.0.3を実行しているarmv7rev 9)。ネイティブコードは、Windowsデスクトップシステムで作成およびテストしたライブラリです。そしてそれは問題なく動作しています。ヘルプ!

Android.mk

OCAL_PATH := $(call my-dir)    
include $(CLEAR_VARS)    
#LOCAL_CFLAGS     := -DANDROID_NDK -Wno-psabi
LOCAL_C_INCLUDES += png++/ 
LOCAL_C_INCLUDES += libpng/
LOCAL_C_INCLUDES += zlib/
LOCAL_MODULE    := mylib
LOCAL_SRC_FILES := /* a list of .cpp files... */
LOCAL_SRC_FILES += $(wildcard ./*.c)
LOCAL_SRC_FILES += $(wildcard ./zlib/*.c)
LOCAL_SRC_FILES += $(wildcard ./libpng/*.c)
LOCAL_LDLIBS := -llog
LOCAL_LDLIBS += -ljnigraphics
LOCAL_CFLAGS += -marm -march=armv6 -mfloat-abi=softfp -mfpu=vfp -fpermissive -fwrapv -O2 -fexceptions    
include $(BUILD_SHARED_LIBRARY)

Application.mk

APP_STL := gnustl_static
APP_OPTIM := release
APP_CPPFLAGS += -frtti
4

1 に答える 1