首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android不可执行:64位ELF文件

Android不可执行:64位ELF文件
EN

Stack Overflow用户
提问于 2017-01-14 06:23:42
回答 2查看 17.2K关注 0票数 0

我正在尝试为我的一加3T (LogoInjector)构建一个C二进制文件,它使用的是Snapdraon821,所以它是一个arm64设备。

当我运行时:

代码语言:javascript
运行
复制
android-ndk-r13b/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/aarch64-linux-android-gcc -I android-ndk-r13b/platforms/android-24/arch-arm64/usr/include -c LogoInjector.v1.4.c lodepng

并将编译后的二进制文件复制到我手机上的/system/bin中,我得到了这个错误:

代码语言:javascript
运行
复制
sush: /system/bin/LogoInjector: not executable: 64-bit ELF file

我也尝试了32位工具链,但它给了我:

代码语言:javascript
运行
复制
sush: /system/bin/LogoInjector: not executable: 32-bit ELF file

我将二进制文件的权限设置为755,就像/system/bin中的所有其他权限一样

有人能帮我解决这个问题吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2017-01-14 06:36:09

-c开关指示编译器执行仅编译步骤,跳过链接阶段,生成目标文件而不是可执行文件。调用

代码语言:javascript
运行
复制
aarch64-linux-android-gcc -I android-ndk-r13b/platforms/android-24/arch-arm64/usr/include LogoInjector.v1.4.c -o lodepng

而不是命令。除了这些参数之外,您还可能需要指定一些链接器选项(如要链接的库)。

票数 2
EN

Stack Overflow用户

发布于 2019-04-09 10:53:43

我在尝试运行应用程序时遇到了这个问题。尝试运行命令:"file nameapp“。这就是我得到的:

ELF可执行文件,32位LSB,动态(/system/bin/linker),未剥离。

但是我的主板运行命令:“file system/bin/sh”

Android共享对象,64位LSBx86-64,动态(/

/bin/linker64),适用于Android27,BuildID=4a49062467e2958e78ce79839f483302,已剥离。

它不同,所以不能运行。如果你想运行它的话。使用x86-64获取该文件。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41644382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档