Android JNI入門第四篇——Android.mk檔案分析

來源:互聯網
上載者:User

   Android.mk檔案是在使用NDK編譯C代碼時必須的檔案,Android.mk檔案中描述了哪些C檔案將被編譯且指明了如何編譯。掌握Android.mk檔案的編寫主要是掌握其裡頭將要使用的一些關鍵字,先來看一個簡單的例子,這個例子使用的是android NDK帶的

HellJni的例子。

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE    := hello-jniLOCAL_SRC_FILES := hello-jni.cinclude $(BUILD_SHARED_LIBRARY)

 

LOCAL_PATH 是描述所有要編譯的C檔案所在的根目錄,這邊的賦值為$(call my-dir),代表根目錄即為Android.mk所在的目錄。

 

include $(CLEAR_VARS) 代表在使用NDK編譯工具時對編譯環境中所用到的全域變數清零,如LOCAL_MODULE,LOCAL_SRC_FILES等,因為在一次NDK編譯過程中可能會多次調用Android.mk檔案,中間用到的全域變數可能是變化的。關於這個問題看了下面比較複雜的例子可能就明白了。

 

LOCAL_MODULE 是最後產生庫時的名字的一部分,給其加上首碼lib和尾碼.so就是產生的共用庫的名字libhello-jni.so。

 

LOCAL_SRC_FILES 指明要被編譯的c檔案的檔案名稱

 

include $(BUILD_SHARED_LIBRARY) 指明NDK編譯時間將產生一些共用庫

 

 

參考:

 

android編譯系統makefile(Android.mk)寫法

 

android makefile(android.mk)分析(序)

 

Android.mk的用法和基礎

 

<!-- JiaThis Button BEGIN -->
<div id="ckepop">
 <a href="http://www.jiathis.com/share" class="jiathis jiathis_txt" target="_blank"><img src="http://v2.jiathis.com/code_mini/images/btn/v1/jiathis1.gif" border="0" /></a>
 <a class="jiathis_counter_style_margin:3px 0 0 2px"></a>
</div>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js" charset="utf-8"></script>
<!-- JiaThis Button END --><!-- JiaThis Button BEGIN -->
<div id="ckepop">
 <a href="http://www.jiathis.com/share" class="jiathis jiathis_txt" target="_blank"><img src="http://v2.jiathis.com/code_mini/images/btn/v1/jiathis1.gif" border="0" /></a>
 <a class="jiathis_counter_style_margin:3px 0 0 2px"></a>
</div>
<script type="text/javascript" src="http://v2.jiathis.com/code_mini/jia.js" charset="utf-8"></script>
<!-- JiaThis Button END -->

/**
* @author 張興業
* 郵箱:xy-zhang#163.com
* android開發進階群:278401545
*
*/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.