2011-09-05 111 views
1

我的項目中正在進行一些神祕的工作:)Android NDK不鏈接靜態庫

我有一個共享庫,它使用靜態庫libjpeg。它一切正常,但現在當我需要添加一些更改項目時,它只是停止在我的共享模塊中包含libjpeg。

所以之前的時候,它的工作,我的共享模塊(.so文件)是90KB左右,現在的4K和應用程序無法運行說,它無法找到libjpeg.so

和文件夾結構如下: /平臺/ libjpeg的 - 包括文件的libjpeg /平臺/庫 - 包含libjpeg.a和其他幾個庫


UPDATE:與項目玩弄後,我想通了這個問題後,我出現想要將android:installLocation添加到清單中。根據谷歌有關向後兼容性的建議(http://developer.android.com/guide/appendix/install-location.html),我將項目的API級別更改爲8(因此它解析清單時沒有錯誤)並將minSdkVersion =「7」(所以它在以前的版本上運行)。但是,項目中的這種特殊變化會影響NDK構建。可能libjpeg包含在android-8中,它不想將其構建爲靜態庫?

無論如何,問題是:是否有可能在eclipse中使用API​​級別7忽略關於installLocation的清單中的錯誤,或者是否可以強制ndk-build使用API​​級別7,同時在項目設置中保留級別8?

回答

0

在NDK中,您可以找到文檔docs/ANDROID-MK.html。在本文檔中,您將找到選項TARGET_PLATFORM。這應該有所幫助。

+0

剛試過這個,但沒有奏效。似乎Eclipse的設置具有更高的優先級。 – Dmitry