1. 程式人生 > >ndk no rule to make target

ndk no rule to make target

最近在開發的Android Wear App中,不少關鍵模組都呼叫到了演算法,比如記步演算法、睡眠演算法。

而這些演算法都是用c++實現的,上層通過jni呼叫。這裡用到了Android的NDK,以前的專案也有用過,例如vitamio的播放器,但沒怎麼自己編譯.so的庫。現在涉及到底層演算法的修改,於是就涉及到了ndk相關的知識。

ndk裡有自己的make檔案,Android.mk,不同於Makefile,在AndroidManifest同級目錄下敲ndk-build就能出結果了,可以直接拿到share library,也就是.so的庫檔案。

這個教程可以看看:http://www.kandroid.org/ndk/docs/DEVELOPMENT.html


今天編譯碰到的一個問題是:

ndk  No rule to make target

網上看了一些辦法,很多人是在呼叫這個方法$(call my-dir)的時候,後面的括號後加了空格,我碰到的不是。都是路徑導致的。由於一些src檔案常常會用../../../../之類的表示,當資料夾移動位置後,就會出現找不到的情況。於是就出現了上述問題。

如果想知道具體哪兒報的錯,可以使用ndk-build -d,這樣就可以看到詳細的log日誌了。