gpt4 book ai didi

Android NDK,独立构建,错误不可执行 : magic 7F45 and/or not executable: magic 4c01

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:55 27 4
gpt4 key购买 nike

我正在尝试编译“su” super 用户实用程序的修改版本,所以我在 git 上访问了 android5.0 源代码,并获得了“su.c”文件。

我的实际设备/硬件是乐视 x500 手机运行:

  • Android 5.0.2 ,SDK 21
  • CPU 架构 AArch64 处理器版本 2
  • 指令集 arm64-v8a

我是关于硬件数据的,因为我查看了制造商网站并且还使用了第 3 方应用程序来获取软件/硬件信息。

使用 cygwin 外壳:

$ sh make-standalone-toolchain.sh --platform=android-21 --install-dir=/cygdrive/c/users/anaim/ndk-standalone_arm64 --arch=arm64 --toolchain=aarch64-linux-android-4.9 --ndk-dir=/cygdrive/c/Users/anaim/android-ndk-r10e --system=windows-x86_64

结果:

正在复制预构建的二进制文件...正在复制 sysroot header 和库...正在复制 C++ 运行时 header 和库...将文件复制到:/cygdrive/c/users/anaim/ndk-standalone_arm64打扫干净...完毕。命令:

然后编译我修改后的su.c:

$/cygdrive/c/Users/anaim/ndk-standalone_arm64/bin/aarch64-linux-android-gcc -c su.c -o su -I/cygdrive/c/Users/anaim/android-ndk-r10e/platforms/android-21/arch-arm/用户/包括

然后我将 su 二进制文件推送到设备路径/local/data/tmp 并对 su 发出 chmod 777 ,但是当我想执行 a 时遇到了这个错误:

$/数据/本地/tmp/su/system/bin/sh: /data/local/tmp/su: 不可执行:magic 7F45

我尝试使用另一个带有 --arch 标志的工具链来设置 --arch=arm 但这给了我一个稍微不同的错误 /data/local/tmp/su: not executable:魔法 4c01

为什么独立工具链 arm 和 arm64(这应该是正确的) 都无法为设备创建写入二进制文件?

最佳答案

gcc -c 将创建目标文件,而不是可执行文件。从命令行中删除 -c 参数。

关于Android NDK,独立构建,错误不可执行 : magic 7F45 and/or not executable: magic 4c01,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35782850/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com