【问题标题】:Compiling on an ARM Emulator for use on an Android Phone在 ARM 模拟器上编译以在 Android 手机上使用
【发布时间】:2012-07-22 17:12:33
【问题描述】:

所以我正在尝试在 ARM 模拟器(Quem 和 laungauge 是 C)上编译一个程序,以便在 Android 手机上使用。这是因为我无法在我的 android 手机上获得 build-essentials 和/或 cmake,但我确实有 Terminal Emulator 和 Busybox。

无论如何,我昨晚编译了程序(永远!),当我今天尝试在 Android 上运行它时,它最初是说 Permission Denied(即使我有 SU),我发现这是因为我需要将它作为可执行文件,但由于 sdcard 是 FAT32,我无法使用 chmod。所以我挂载了 /system,并在 chmod 777 之后将二进制文件复制到那里。现在它给了我 ./myprogram: not found 即使它明显存在。

做一些阅读,人们说这可能意味着缺少库,但 Android 没有 ldd 命令,所以我不知道如何找出它缺少的内容。另外,可能会破坏游戏,但我发现我的手机在 ARMv7 上,而模拟器是 ARM926EJ-S,这会有所作为吗?

任何输入都很棒!

【问题讨论】:

    标签: android c arm shared-libraries


    【解决方案1】:

    我在模拟器上编译没有什么意义(恕我直言)。使用交叉编译器来构建您的应用程序及其依赖项更有意义。请搜索有关使用 NDK 的信息。

    【讨论】:

    • 除非您正在编译的库要求它在目标上完成。我可以想到两个库,因为它需要在编译时检查目标特性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-04
    • 1970-01-01
    相关资源
    最近更新 更多