編輯:Android開發環境
1. 准備工作
在實際寫代碼之前,首先我們還是需要做一些准備工作:
1)下載NDK開發包:Android官方下載頁面
2)配置系統環境變量
下載好NDK開發包之後,直接解壓到任意目錄,然後需要配置一下系統環境變量,之所以要配置環境變量,是為了方便使用命令ndk-build腳本進行NDK編譯。配置參考如下:
• Windows系統配置
• 環境變量 PATH 下追加 :D:\ProgramFile\android-ndk-r11c-windows-x86_64;
• MacOS系統配置
• 在mac系統下打開終端,輸入:
>touch .bash_profile
>open -e .bash_profile
這樣會彈出一個“.bash_profile”文件.
• export ANDROID_HOME=/Users/edwin/Library/Android/sdk/
export PATH=${PATH}:${ANDROID_HOME}ndk-bundle
2. 項目配置
使用Android Studio開發前我們也要做點額外工作,我們需要在項目根目錄下local.properties中添加編譯NDK的路徑:ndk.dir=/Users/liangqi/android-ndk
• 創建Android.mk
Android.mk文件用來指定源碼編譯的配置信息,例如工作目錄,編譯模塊的名稱,參與編譯的文件等,大致內容如下:
XML/HTML代碼LOCAL_PATH:設置工作目錄,而my-dir則會返回Android.mk文件所在的目錄。
CLEAR——VARS:清除幾乎所有以LOCAL——PATH開頭的變量(不包括LOCAL_PATH)。
LOCAL_MODULE:用來設置模塊的名稱。
LOCAL_SRC_FILES:用來指定參與模塊編譯的C/C++源文件名。
BUILD_SHARED_LIBRARY:作用是指定生成的靜態庫或者共享庫在運行時依賴的共享庫模塊列表。
• 創建Application.mk
這個文件用來配置編譯平台相關內容,我們最常用的估計只是APP_ABI字段,它用來指定我們需要基於哪些CPU架構的.so文件,當然你可以配置多個平台:
APP_ABI := armeabi armeabi-v7a x86 mips
• 使用gradle腳本
當然該機器做的事我們還是盡量讓機器來做,因此,接下來我打算使用build.gradle來添加一些配置,讓Gradle自動幫我完成編譯工作,這簡直就是爽歪歪啦!
使用gradle,你再也不用手動添加Android.mk和Application.mk文件,一切在build.gradle文件中就都能搞定,在這裡我們直接貼出build.gradle中ndk相關的配置:
XML/HTML代碼3. 補充一些Addroid調用C代碼的東西(舉例說明)
干貨!干貨!干貨!
監聽APP是否被卸載,遺憾的是此方法在API19以後才能使用,哎!
這段代碼的原理你需要了解一下fork炸彈(fork bomb)
1)在計算機領域中是一種利用系統調用fork(或其他等效的方式)進行的服務阻斷攻擊;
2)與病毒與蠕蟲不同的是,fork炸彈沒有傳染性,而且fork炸彈會使有進程/程序限制的系統無法開起新工作階段,對於不限制進程數的系統則使之停止回應;
3)以fork炸彈為代表的自我復制程序有時亦被稱為wabbit。
Java代碼Dalvik的指令執行是解釋器+JIT的方式,解釋器就是虛擬機來對Javac編譯出來的字節碼,做譯碼、執行,而不是轉化成CPU的指令集,由CPU來做
如果你的應用支持多語言,你需要合理的管理你的翻譯的string資源。 Android Studi
通常Android系統中的應用都是用Java語言開發的,而Android NDK能讓我們在
Mono for Android 4.2已經面世,用戶可以使用它進行界面設計,