Android Studio使用jni、so庫,androidjni

來源:互聯網
上載者:User

Android Studio使用jni、so庫,androidjni
Android Studio使用jni、so庫

在Android Studio1.1之後,AS就已經支援jni和so庫了,馬上發布的1.3正式版,更是可以在clion環境下編譯c、c++,更加方便的使用NDK進行開發,網上有很多講在Android Studio中使用jni的方法,但大多都是在1.1之前的,那時候還沒有直接支援jni,所以需要通過給gradle增加task的方式來添加支援。而現在,這一切都不是事!!!

添加lib庫

切換到project標籤,直接將jar包複製到libs目錄下,在添加dependency就可以了。

添加so庫

添加so庫有兩個方法。但是強烈建議使用簡單粗暴的方式。

簡單粗暴

在main目錄點擊右鍵,添加檔案夾,命名為jniLibs,需要注意的是,一個字都不能錯,這是預設名。

自訂目錄

在main下面你可以自訂一個目錄,例如:xys。然後在build.gradle的Android標籤下,添加如下修改:

sourceSets {        main {            jniLibs.srcDirs = ['xys']        }    }

指定下jniLibs的具體目錄即可。

使用

在代碼中,只需要:

static {        System.loadLibrary("XXXX");    }

並且指定native對應的方法:

public static native void nativeXXXXX();

這些應該不用講了。

警告

在使用jni的時候,有幾個地方非常需要注意。

包名

在loadLibrary的那個程式,包名一定要和so庫的包名一樣

so庫版本

在jniLibs下,最好放置:

這樣幾個版本最好都要,但是實際上,放一個armeabi-v7a就夠了。但是出錯的時候,一定要往這個地方上去想。

聯繫我們

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