Android自定義開發SDK與呼叫
介紹以.jar/.aar包形式製作自己的SDK,並實現呼叫的過程。
將使用OpenCV實現圖片灰度化的方式打包為.jar/.aar包,並實現呼叫,OpenCV使用JNI實現本地方法呼叫。建立一個module用於製作SDK,OpenCV環境搭建和程式碼編寫部分參考一下部落格:
部落格中的介紹了在APP模組搭建環境的方式,改為module中差距不大,照步驟配置即可。
在module中實現了程式碼函式之後,對工程進行編譯, 可以得到.jar包和.aar包;
.jar包的呼叫較為簡單,基本步驟為將.jar包複製到所需要匯入工程的Libs資料夾下,右鍵.jar包選擇add as library就完事了,之後就可以呼叫了,但是在此處這樣的做法還不夠,因為opencv的呼叫涉及到了.so庫的編譯連結,所以我們需要將編譯得到的.so庫一起放入工程檔案中,才能實現.jar包的呼叫;
相比.jar包,.aar包的呼叫只需要一個檔案(.aar檔案),我們同樣將.aar檔案放入Libs目錄中,與.jar檔案不同的是這裡無法一鍵實現匯入,需要手動編寫配置檔案,在對於的build.gradle中新增如下程式碼:
repositories {
flatDir {
dirs 'libs'
}
}
}
dependencies {
compile(name: 'facelibrary-debug', ext: 'aar')
}
重新編譯之後會顯示編譯成功,即可實現.aar包的呼叫,可以看到已經可以使用之前通過JNI實現的NATIVE函數了。