我是新手,想研究如何构建细胞学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
我该如何解决这个问题?我的操作有什么问题?