我正在尝试构建一个简单的HelloWorld应用程序,并在Genymotion上运行它.
我的建筑系统是Ubuntu 14.04 64bit.我安装了 Android SDK(r22.6.2)和NDK(r9d).
我的建筑系统是Ubuntu 14.04 64bit.我安装了 Android SDK(r22.6.2)和NDK(r9d).
首次尝试:使用预构建的NDK ARM工具链进行构建
TOOLCHAIN = $NDK/toolchains/arm-linux-androideabi-4.8 $TOOLCHAIN/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc --sysroot=$PLATFORM hello.c -o hello adb push hello /sdcard/ ./hello
/system/bin/sh: ./Hello: not executable: magic 7F45
做了一些研究后,我很快意识到Genymotion有x86 arch而不是ARM
第二次尝试:使用x86独立工具链构建
>首先使x86 standlone工具链
cd $NDK/build/tools ./make-standalone-toolchain.sh --arch=x86 --platform=android-19 --install-dir=/tmp/android-toolchain --ndk-dir=../../. --system=linux-x86_64
>使用工具链构建Hello
cd tmp/android-toolchain/bin ./i686-linux-android-gcc -o Hello -c hello.c
>在Genymotion上运行Hello
adb push hello /data/local/tmp adb shell cd /data/local/tmp ./hello /system/bin/sh: ./Hello: not executable: magic 7F45
冉冉Ran ame – 在genymotion机器上.
冉文件可执行文件你好
所以应该是一场比赛.
仍然得到相同的错误.真的很感激,如果有人可以散发光.
编辑1:尝试运行/ data / local / tmp中的可执行文件,而不是/ sdcard /.仍然给出相同的错误.
解决方法
原文地址:https://www.jb51.cc/c/112597.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。