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

如何解决Android NDK预建库的错误?,android,android-ndk,cross-compiling,Android,Android Ndk,Cross Compiling,我是一个新手,我想学习如何构建细胞学c源代码并在Android中运行它。我做了以下工作: 下载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:$A

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

  • 下载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
    
  • 安装NDK

    make-standalone-toolchain.sh --platform=android-9 --install-dir=/usr/local/my-android-toolchain 
    
  • 编辑
    /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++  
    
  • 交叉编译我的
    gmp-5.0
    库。它依赖于m4-1.4.13,我使用以下命令编译它:

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

  • 但是,当使用生成的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


  • 我如何解决这个问题?我的操作有什么问题?

    文件的输出是什么。/libs/armeabi/libgmp。那么?