2013-06-24 17 views
2

我使用eclipse配置了ndk以便自動構建我的C++代碼。但是我在libs文件夾裏有兩個外部的.so文件。每次,eclipse都會在構建項目時自動刪除這些外部.so文件。有沒有可能告訴eclipse不要刪除這些外部文件。如何設置eclipse在構建期間不刪除一些文件

+0

'libs'文件夾是輸出文件夾嗎?如果是這樣,那聽起來不對。 – nitind

+0

是的,看來我需要編寫一個腳本來複制外部.so文件到這個發現時,發現構建 – flyzhao

+0

這實際上發生在我身上最近,而建設。但它從來沒有用過這樣做。我以前一直在這樣做。不知道爲什麼現在它決定突然刪除東西。必須有某個地方的設置。 –

回答

1

解決方案是here

總結(和補體):

  • 複製您的外部(例如,libexternal.so)庫(或庫)你的 'JNI' 文件夾內的另一個文件夾;例如'myproject/jni/prebuilt'。

  • 以下塊添加到現有的 'JNI/Android.mk'(每個外部庫一個塊):

    include $(CLEAR_VARS) 
    LOCAL_MODULE := libexternal 
    LOCAL_SRC_FILES := prebuilt/libexternal.so 
    include $(PREBUILT_SHARED_LIBRARY) 
    
  • 增加 'libexternal' 到 'APP_MODULES' 在現有的「JNI/Application.mk」。 'APP_MODULES' 應該已經列出你的JNI模塊(例如, 'myjnimodule'):下列塊 'JNI/Application.mk' 存在

    APP_MODULES := libexternal myjnimodule 
    
  • 確認。使用適當的目標架構(S):

    APP_ABI := armeabi-v7a 
    

結果是,作爲調用爲「NDK建造」,外部庫複製到你的「的myproject /庫的一部分/ armeabi- v7a'文件夾。

1

約翰Doedoe給出的解決方案使我另一種可能性,具體到Eclipse(在火星上1測試版):

  • 右鍵單擊在Project Explorer項目。
  • 進入屬性。
  • 進入「C/C++ Build」。
  • 進入「Builder設置」選項卡。
  • 取消選中「使用默認生成命令」。
  • 在 「構建命令」 文本框中鍵入你的目標,如:NDK-建立APP_ABI = 「armeabi-V7A」
  • 應用/確定

enter image description here

這將避免改變人們的行爲例如構建機器。

相關問題