日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
NDK編寫Android終端helloworld

在windows下面編譯使用NDK,不是一個容易的事情,但是在ndk-r8后,似乎方便了很多。具體方法如下:

從事眉山服務(wù)器托管,服務(wù)器租用,云主機,網(wǎng)頁空間,申請域名,CDN,網(wǎng)絡(luò)代維等服務(wù)。

1. 下載安裝android ndk,解壓到一個目錄,***是比較簡單的英文路徑,防止各種坑。然后將ndk加入到路徑中。比如

set path=%paht%;H:\gp\Android\android-ndk-r9

set path=%path%;H:\gp\Android\android-studio\sdk\platform-tools

這兩句話就是把ndk-build和adb命令加入到cmd的命令環(huán)境中,方便后面的使用。如果常用,建議加入到環(huán)境變量path中

2. 編寫相關(guān)代碼

注意,需要在項目目錄下面建立一個jni目錄,在jni目錄下建立文件。

target.c

 
 
  1. #include  
  2. int flag = 1; 
  3. int count = 0; 
  4. int main() 
  5. char* str = "abcdef"; 
  6. while(flag) 
  7. printf("Target is running:%d\n", count); 
  8. count++; 
  9. sleep(3); 
  10. return 0; 

Android.mk

 
 
  1. LOCAL_PATH := $(call my-dir) 
  2.  
  3. include $(CLEAR_VARS) 
  4. LOCAL_MODULE := target 
  5. LOCAL_SRC_FILES := target.c 
  6. include $(BUILD_EXECUTABLE) 

代碼很簡單,就是一個循環(huán)打印語句。值得注意的是Android.mk,根據(jù)需要修改LOCAL_XXX的名字就可以了,如果有多個文件,添加到SRC_FILES后面就可以了

 

在jni目錄運行命令

ndk-build

 
 
  1. "Compile thumb : target <= target.c 
  2. Executable : target 
  3. Install : target => libs/armeabi/target 

 

會在項目目錄的libs/armeabi目錄下面生產(chǎn)目標(biāo)代碼

下面的操作方法是將target上傳到調(diào)試機器上,我一般使用機器,因為模擬器太慢了,折磨人。你的機器需要設(shè)置為usb development,并且需要有root權(quán)限,否則,只能在模擬器中測試。

adb remount

adb push target /data/local/tmp

adb shell

su

cd /data/local/tmp

chmod 751 target

./target

 
 
  1. root@android:/data/local/tmp # ./target 
  2. ./target 
  3. Target is running:0 
  4. Target is running:1 
  5. Target is running:2 
  6. Target is running:3 
  7. Target is running:4 
  8. Target is running:5 

需要注意的地方是android下面busybox的chmod u+x target不能工作,只能用751這種數(shù)字方式來設(shè)置程序的可運行。

 

希望你好運,能夠運行一個helloword的ndk程序


文章題目:NDK編寫Android終端helloworld
當(dāng)前地址:http://m.5511xx.com/article/dpeshgi.html