3

我是新手,想研究如何构建细胞学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

    以上三个步骤都可以正常工作。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

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

4

0 回答 0