2013-03-01 18 views
0

僅當我在仿真器上運行它時,我的應用纔會觸發SIGILL故障。該應用程序使用ActionBarSherlock,最低SDK目標是API級別8.在執行本機代碼時觸發故障(其餘應用程序,用Java編寫,似乎工作)。我嘗試了許多不同的模擬器設置,但沒有成功。沒有特定的代碼是錯誤的。如果我對發生故障的函數發表評論,SIGILL由其他某個函數觸發。我使用宏LOGI在控制檯上寫東西,並且正確調用了本地代碼函數。我完全不知道發生了什麼。該應用程序完美地運行在兩個不同的手機上(運行android 2.3.4的armv6 rev 5和運行android 4.0.3的armv7 rev 9)。本機代碼是我在Windows桌面系統上編寫和測試過的一個庫,它的工作沒有問題。 幫助!Android - 原生代碼僅在仿真器上觸發SIGILL

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 
+0

向我們展示至少Android.mk + Application.mk ...和模擬器...您是使用Intel x86還是Arm ABI? – Selvin 2013-03-01 14:52:38

回答

0

我也有類似的問題。我放棄了在模擬器上的嘗試;我認爲這與Android模擬器上的ARMv6支持有關。由於我的設備也在使用,我不再關心這個問題。

相關問題