построить Android ADB для процессора руки - PullRequest
4 голосов
/ 06 мая 2011

Я хочу использовать инструмент Android ADB на платформе ARM. Одна из команд в сценарии сборки:

arm-eabi-g++
-I build/libs/host/include/host
-I build/libs/host/include
-I build/libs/host
-I out/host/linux-arm/obj/STATIC_LIBRARIES/libhost_intermediates 
-I dalvik/libnativehelper/include/nativehelper
-I system/core/include
-I hardware/libhardware/include
-I hardware/libhardware_legacy/include
-I hardware/ril/include
-I dalvik/libnativehelper/include
-I frameworks/base/include
-I frameworks/base/opengl/include
-I frameworks/base/native/include
-I external/skia/include
-I tools/include
-I out/host/linux-arm/obj/include
-I prebuilt/ndk/android-ndk-r5b/platforms/android-9/arch-arm/usr/include
-c -fno-exceptions -Wno-multichar -fPIC
-include system/core/include/arch/linux-arm/AndroidConfig.h
-D_FORTIFY_SOURCE=0
-DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -O2 -g -fno-strict-aliasing -DNDEBUG -UDEBUG
-DANDROID -fmessage-length=0 -W -Wall -Wno-unused -Winit-self -Wpointer-arith -Wsign-promo -DNDEBUG -UDEBUG
-MD -o out/host/linux-arm/obj/STATIC_LIBRARIES/libhost_intermediates/pseudolocalize.o   
build/libs/host/pseudolocalize.cpp

Я убедился, что у меня установлена ​​последняя версия ndk-r5b, которая должна решить проблему с STL. Тем не менее, я все еще получаю следующую ошибку:

In file included from build/libs/host/pseudolocalize.cpp:1:
build/libs/host/include/host/pseudolocalize.h:4:18: error: string: No such file or directory
In file included from build/libs/host/pseudolocalize.cpp:1:
build/libs/host/include/host/pseudolocalize.h:6: error: 'string' in namespace 'std' does not name a type
build/libs/host/pseudolocalize.cpp: In function 'const char* pseudolocalize_char(char)':
build/libs/host/pseudolocalize.cpp:61: error: 'NULL' was not declared in this scope
build/libs/host/pseudolocalize.cpp: At global scope:
build/libs/host/pseudolocalize.cpp:71: error: 'string' does not name a type

Кто-нибудь знает, как решить эту проблему? Кстати, сборка версии Intel ADB прекрасно работает, перейдя по этой ссылке:

http://lackingrhoticity.blogspot.com/2010/02/how-to-build-adb-android-debugger.html

Ответы [ 3 ]

6 голосов
/ 06 мая 2011

pseudolocalize.cpp не нужен для adb. А NDK toolchain предназначен для сборки с помощью бионики (Android libc). Для сборки adb требуется glibc (GNU libc).

Я создал Makefile для компиляции adb для Linux / ARM. Этот Makefile создает статически связанный исполняемый двоичный файл adb для Linux / ARM, поэтому он работает и на Android / ARM.

Как сделать.

  1. Установка Sourcery G ++ Lite для ARM и GNU Make.
  2. Скачать " Исходный код Android ".
  3. Сохранить Makefile как system / core / adb / Makefile.
  4. система cd / core / adb; сделать.
1 голос
/ 03 августа 2015

Если вам нужно построить ADB ( версия 1.0.31 ) для ARM, посмотрите здесь .

Хранилище содержит сценарий сборки «все в одном» , а также предварительно скомпилированный двоичный файл для ARM .

0 голосов
/ 30 декабря 2014

Вижу, пост довольно старый, в любом случае, он мне помог.Я не нашел

"Sourcery G ++ Lite для ARM и GNU Make."

Но мне удалось собрать / запустить на / для моего ARMv7, следуя другим шагам сgcc 4: 4.6.3-1ubuntu5

  1. N / A
  2. Скачать "Исходный код Android".
  3. Сохранить Makefile как system / core / adb / Makefile.3b.Отредактируйте Makefile в CC = gcc и LD = gcc
  4. cd system / core / adb;сделать.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...