2013-10-31 61 views
1

在Eclipse中嘗試進行本機調試時,出現'無法檢測應用程序ABI'。我沒有得到任何地方,所以我試着ndk-gdb(ndk-gdb.py,因爲我在Windows上)。Android應用程序ABI和原生調試

但使用NDK-GDB給我:

ERROR: The device does not support the application's targetted CPU ABIs! 

     Device supports: armeabi-v7a armeabi 

     Package supports: . 

這是因爲ndk-gdb.py功能:

def get_build_var(var): 
    global GNUMAKE_CMD, GNUMAKE_FLAGS, NDK, PROJECT 
    text = subprocess.check_output([GNUMAKE_CMD, 
            '--no-print-dir', 
            '-f', 
            NDK+'/build/core/build-local.mk', 
            '-C', 
            PROJECT, 
            'DUMP_'+var] + GNUMAKE_FLAGS 
           )         

    # replace('\r', '') due to Windows crlf (\r\n) 
    # ...universal_newlines=True causes bytes to be returned 
    #  rather than a str 
    return text.decode('ascii').replace('\r', '').splitlines()[0] 

回報 ''當被問及APP_ABI時。我弄暈了子進程make調用參數,當我從命令行執行make調用時,我得到'armeabi-v7a armeabi'的正確響應

我不認爲這與python有關,因爲錯誤是如此類似於我的Eclipse唯一的問題。

+0

[ndk-gdb error:device不支持應用程序的目標CPU ABI]的可能重複(http://stackoverflow.com/questions/15067215/ndk-gdb-error-device-does-not-support-the -applications-targetted-cpu-abis) – krsteeve

+1

@krsteeve:不,這是一個不同的問題 –

+0

Eclipse在引擎蓋下使用相同的python –

回答

2

嘗試運行ndk-build DUMP_APP_ABI並確保輸出是乾淨的。檢查你的Application.mk奇怪的編碼和/或CRLFs。

對於此目標應禁用所有使用$(info …)$(__ndk_info)等。