如何解决Android NDK预建库的错误?

时间:2013-07-07 15:10:28

标签: android android-ndk cross-compiling

我是新手,我想学习如何构建细胞学c源代码并在Android中运行它。我做了以下事情:

  1. 下载Android SDK和NDK,然后在/ etc / profile中设置环境,如:

    ANDROID_SDK_HOME=/home/liuzheli/soft/android-studio
    ANDROID_NDK_HOME=/home/liuzheli/soft/android-ndk-r8e
    PATH=$ANDROID_NDK_HOME:$ANDROID_NDK_HOME/build/tools:$ANDROID_SDK_HOME/bin:$ANDROID_SDK_HOME/sdk/tools:$ANDROID_SDK_HOME/sdk/platform-tools:$PATH
    export  ANDROID_SDK_HOME ANDROID_NDK_HOME PATH
    
  2. 安装NDK

    make-standalone-toolchain.sh --platform=android-9 --install-dir=/usr/local/my-android-toolchain 
    
  3. 编辑/etc/profile,如:

    PATH=$ANDROID_NDK_HOME:$ANDROID_NDK_HOME/build/tools:$ANDROID_SDK_HOME/bin:$ANDROID_SDK_HOME/sdk/tools:$ANDROID_SDK_HOME/sdk/platform-tools:/usr/local/my-android-toolchain/bin:$PATH
    export  JAVA_HOME ANDROID_SDK_HOME ANDROID_NDK_HOME CLASSPATH PATH 
    
    export CC=arm-linux-androideabi-gcc  
    export CXX=arm-linux-androideabi-g++  
    
  4. 交叉编译我的gmp-5.0库。它取决于m4-1.4.13,我使用这样的命令编译它:

    1. sudo configure --host=arm-linux-androideabi
    2. sudo make
    3. sudo make intall
    4. 以上三个步骤都正常工作。 然后使用相同的命令正确编译gmp库。

    5. 但是,何时使用生成的libgmp.so,我遇到错误: 在我的Android.mk中,例如:

      include $(CLEAR_VARS)
      LOCAL_MODULE := libgmp
      LOCAL_SRC_FILES := libgmp.so
      LOCAL_EXPORT_C_INCLUDES := /usr/local/include
      include $(PREBUILT_SHARED_LIBRARY)
      

      何时执行'ndk-build'命令,它显示:

      Install        : libgmp.so => libs/armeabi/libgmp.so
      /home/liuzheli/soft/android-ndk-r8e/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-strip: Unable to recognise 
      

      输入文件格式./libs/armeabi/libgmp.so

    6. 如何解决此问题?我的运营有什么问题?

0 个答案:

没有答案