Android的交叉编译

时间:2010-06-21 08:51:40

标签: android

我正在尝试交叉编译dropbear for android。这些文件似乎是编译find,但是执行时会给出“program:not found”。我做了一个查找,标记为NEEDED的库似乎位于交叉编译环境中。我用这个工具链编译了其他程序。

arm-none-linux-gnueabi-readelf -d dropbear

Dynamic section at offset 0x1c158 contains 27 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libutil.so.1]
 0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000c (INIT)                       0x9428
 0x0000000d (FINI)                       0x1e1b4
 0x00000019 (INIT_ARRAY)                 0x2c14c
 0x0000001b (INIT_ARRAYSZ)               4 (bytes)
 0x0000001a (FINI_ARRAY)                 0x2c150
 0x0000001c (FINI_ARRAYSZ)               4 (bytes)
 0x00000004 (HASH)                       0x8168
 0x00000005 (STRTAB)                     0x8ba0
 0x00000006 (SYMTAB)                     0x84b0
 0x0000000a (STRSZ)                      970 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000015 (DEBUG)                      0x0
 0x00000003 (PLTGOT)                     0x2c258
 0x00000002 (PLTRELSZ)                   848 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x90d8
 0x00000011 (REL)                        0x90c8
 0x00000012 (RELSZ)                      16 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x6ffffffe (VERNEED)                    0x9048
 0x6fffffff (VERNEEDNUM)                 4
 0x6ffffff0 (VERSYM)                     0x8f6a
 0x00000000 (NULL)                       0x0

2 个答案:

答案 0 :(得分:0)

你是否将“补丁”应用于dropbear,因为dropbear使用/ etc / passwd并且在android上不存在。

Installing Dropbear - MyWiki

上找到了这个
  

Dropbear需要修补才能与Android配合使用。 Android不使用'/ etc / passwd'文件,因此需要将其与一些目录更改一起修补。这也会添加静态密码。此密码位于dropbear目录中“debug.h”的底部。默认密码为“password”。可以在此处找到该补丁:http://pastebin.com/f3dedc5e7

我知道dropbear可以在android上编译和运行,因为CyanogenMOD和我用过的大多数其他ROM都有它在系统上。

答案 1 :(得分:0)

我发现了问题。我正在编译没有STATIC = 1标志。谢谢回复!谢谢回复!我从cyanogen的github获得了补丁来源