在開發包含c/c++本地**的android專案中,通過gdb來除錯**是必不可少的前提。
android官方為此提供了ndk-gdb,看起來非常之nice。但個人在實踐中發現還是有一系列問題需要記載下(ndk版本:r10e):
1) ndk-build ndk_debug=1這個選項編譯時要加上,一般將之定製在你的c/c++ builder中
2) 即便你按照1)做了,在專案根目錄執行ndk-gdb的時候還是會報以下錯誤:
error: package faywong.github.io.mediakit is not debuggable ! you can fix that in two ways:
then rebuild normally.
after one of these, re-install to the device!
qq20151012-1
3) 接下來還有可能會遇到如下問題:
error: could not find gdb.setup under ./libs/
這是由於ndk-gdb命令的bug帶來的,它沒有去參照abi的不同設定去不同的目錄下找gdb.setup檔案(是乙個指令碼檔案,幫你做一些繁瑣的gdb server的啟動,gdb client的啟動和設定等任務)。
簡單繞過這個錯誤的方式是將libs/裡的gdb.setup直接拷貝至libs目錄下
4) 在你跋山涉水,翻山越嶺走了這麼久之後,再次執行ndk-gdb,會出現以下驚喜:
please re-install the debuggable version!
更新
現在可以結合gradle-experimental外掛程式和ndk中搭載的lldb + android studio 2.0斷點native**了,雖然還不那麼完善,bug多多,但是相比過去的ndk-gdb時代還是進步一點了。
React表單應用 不可控元件
在input標籤中不把value繫結到state上的就是不可控元件,它的資料不合state對應,所以在開發時會給自己挖很多坑,但是不可控元件並不是不可掌控。先來做乙個最簡單的不可用元件。render function 元件完成之後給它加上乙個onchange事件,發現是可以監控到變化值的。如果要獲得...
優化應用不可不知道的知識
原文 構建乙個出色應用,它比實際編碼 還要多。資源的其他檔案和靜態的內容,您的 使用,如位圖,布局定義,使用者介面 字串,動畫說明,更多。概述 螢幕尺寸管理的新工具 andr oid 3.2包含新的工具支援的螢幕尺寸範圍廣泛的裝置。乙個重要的結果是更好地支援乙個新的螢幕大小,通常稱為乙個7英吋。此版...
優化應用不可不知道的知識
原文 構建乙個出色應用,它比實際編碼 還要多。資源的其他檔案和靜態的內容,您的 使用,如位圖,布局定義,使用者介面 字串,動畫說明,更多。概述 螢幕尺寸管理的新工具 andr oid 3.2包含新的工具支援的螢幕尺寸範圍廣泛的裝置。乙個重要的結果是更好地支援乙個新的螢幕大小,通常稱為乙個7英吋。此版...