編輯:Android開發教程
1.背景
android NDK可以用來編譯android的native方法,也可以將c和c++的代碼編譯成.so文件,讓android程序運行。
2.NDK安裝(linux環境)
(1)下載對應的ndk版本,在shell裡輸入如下命令
gedit ~/.bashrc
(2)打開bash文件,添加下載的ndk路徑
NDKROOT=/home/CORPUSERS/28852262/android-ndk-r9c export PATH=$NDKROOT:$PATH
(3)輸入如下命令,然後重啟shell
source /etc/profile
(4)在shell中輸入ndk-build,出現如下狀態說明安裝成功
3.jni第一個demon helloworld
(1)編寫hello-jni.c文件。
#include <string.h> #include <jni.h> /* This is a trivial JNI example where we use a native method * to return a new VM String. See the corresponding Java source * file located at: * * apps/samples/hello-jni/project/src/com/example/hellojni/HelloJni.java */ jstring Java_com_example_hellojni_HelloJni_aa( JNIEnv* env, jobject thiz ) { #if defined(__arm__) #if defined(__ARM_ARCH_7A__) #if defined(__ARM_NEON__) #define ABI "armeabi-v7a/NEON" #else #define ABI "armeabi-v7a" #endif #else #define ABI "armeabi" #endif #elif defined(__i386__) #define ABI "x86" #elif defined(__mips__) #define ABI "mips" #else #define ABI "unknown" #endif return (*env)->NewStringUTF(env, "Hello from JNI ! Compiled with ABI " ABI "."); }
這個c文件實現輸出一個string型函數,注意這裡
Java_com_example_hellojni_HelloJni_aa
我們創建android應用的時候包和函數命名要和這個對應,否則匯報錯:native method is not found。如下圖
查看本欄目更多精彩內容:http://www.bianceng.cn/OS/extra/
第一次寫帶圖片的博客,多少還是有點緊張,效果不好,請將就著看,前面的圖是今天要寫的控件的效果圖,元素不多,分別是一個按鈕和一個自定義的控件。在此以前,我看過許多的書,比如
一、裝載器簡介“類裝載器”(ClassLoader),顧名思義,就是用來動態裝載class文件的。標准的Java SDK中有個ClassLoade
一、關於AndroidManifest.xmlAndroidManifest.xml 是每個android程序中必須的文件。它位於整 個項目的根目錄,描述了package
接觸Andorid有幾個月了,一直認為做系統,應用開發根本不需要懂 Android自動化測試之道,認為那都是測試人員需要掌握的東西,我們只要懂開發,只要讀懂系統,根據客戶
創建好ApiDemo項目後,就可以逐個示例的來分析代碼,這裡假定讀者已對