NDK筆記(二)-在Android Studio中使用ndk-build

來源:互聯網
上載者:User

標籤:html   terminal   cmake   預設   實現   make   read   config   建立   

前面一篇我們接觸了CMake,這一篇寫寫關於ndk-build的使用過程。剛剛用到,想到哪兒寫哪兒。

環境背景

Android開發IDE版本:AndroidStudio 2.2以上版本(目前已經升級到2.2.3)

電腦環境:Window 64位系統

Demo工程的建立與設定1.建立一個工程,並在app/src/main路徑下建立jni檔案夾。

 

2.在java代碼中,建立NdkBuildTest類(包含native方法),並用javah命令產生標頭檔。

 

這裡需要注意幾點:

(1)javah是JDK中的程式,所以需要將JDK的bin路徑添加到電腦的環境變數path中,才能在terminal中使用這個命令。

(2)javah命令中,-d指定建立標頭檔的目標路徑,-classpath指定類的路徑,由於當前路徑是main,所以指定其中的java即可。

效果如下:

3.建立C檔案,實現native方法

4.在jni路徑下建立Android.mk檔案

5.在Module(app)的build.gradle中進行ndk-build配置

這裡主要配置兩點:

(1)在defaultConfig節點中,添加ndk,在這裡作一個abi的過濾,(預設的abi好像是MIPS)

(2)在android節點中,添加externalNativeBuild節點,在裡面配置ndkBuild的makefile路徑。(用Cmake的話,也是在這裡進行配置)

6.配置完成後,同步工程,在C檔案中進行編程,就可以引入相應的標頭檔,並會有相應的代碼提示。

注意:一般同步工程後,編輯器就可以找到相應的標頭檔,就不會標紅報錯。

        當然,即使標紅報錯,提示找不到標頭檔,只要編譯時間能夠Build Success,工程也是能夠正常啟動並執行。

其他1.Google Developers中國網站

就在昨天,Google Developers中國網站開通了,喜大普奔~~23333~~

其公眾號是Google開發人員

2.關於Android.mk

關於Android.mk的編寫,AndroidStudio上好像也沒法自動產生,一直都是手動Coding。

昨天剛剛找到一個關於Android.mk的網站,先作記錄,改天再研讀一下。

這裡寫幾點這段時間用到的經驗吧:

(1)如果有多個檔案夾,需要用一個Android.mk檔案include所有子檔案夾下面的Android.mk檔案:

這個檔案就是配置在build.gradle中的檔案。

(2)如果在工程中需要連結一個非系統的so庫(Android系統中找不到的庫),則在Android.mk中,先對該庫進行先行編譯,然後再在當前需要產生的module中連結該庫:

這樣,在產生的APK中,就可以看到libReady.so 和當前產生的libCurrent.so都被打包在libs路徑中了。

 

轉自:http://www.cnblogs.com/tt2015-sz/p/6148723.html

NDK筆記(二)-在Android Studio中使用ndk-build(轉)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.