如何设置eclipse不会在构建期间删除一些文件

时间:2013-06-24 11:17:47

标签: android c++ eclipse android-ndk

我使用eclipse配置ndk以自动构建我的c ++代码。但我在libs文件夹中有两个外部.so文件。每次,eclipse都会在构建项目时自动删除这些外部.so文件。是否可以告诉eclipse不要删除这些外部文件。

2 个答案:

答案 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'):

    APP_MODULES := libexternal myjnimodule
    
  • 确认' jni / Application.mk'中存在以下块。使用适当的目标体系结构:

    APP_ABI := armeabi-v7a
    

结果是,作为调用&nbspk-build'的一部分,外部库被复制到你的myproject / libs / armeabi-v7a'文件夹中。

答案 1 :(得分:1)

John Doedoe给出的解决方案让我有了另一种可能性,特别是Eclipse(在火星1版本上测试过):

  • 右键单击项目资源管理器中的项目。
  • 进入物业。
  • 进入" C / C ++ Build"。
  • 进入"构建器设置"标签。
  • 取消选中"使用默认构建命令"。
  • 在"构建命令"文本框键入您的目标,例如:ndk-build APP_ABI =" armeabi-v7a"
  • 应用/确定

enter image description here

这样可以避免改变构建机器上的行为。