Проблема сборки исходного кода Android - PullRequest
1 голос
/ 12 марта 2011

Я прошел через шаги по созданию исходного кода Android. После того, как все было настроено в соответствии с инструкциями, я выполнил команду «make». Процесс make продолжал работать до тех пор, пока ссылка, где он в конечном итоге потерпел неудачу со следующей ошибкой:

Undefined symbols for architecture x86_64:
  "_main", referenced from:
      start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

Еще одно замечание: ссылка генерирует предупреждение, похожее на это:

ld: предупреждение: игнорирование файла из / хост / Darwin-x86 / объект / Executables / emulator_intermediates / Android / HW-kmsg.o, файл был построен для i386, который не является связанная архитектура (x86_64)

Может кто-нибудь помочь мне с решением этой проблемы?

Спасибо, Craig

Ответы [ 4 ]

1 голос
/ 04 апреля 2011

Спасибо, длява. Да, Xcode 4.x - это проблема, но не единственная, которую я обнаружил. Мне жаль, что я не вернулся и не опубликовал некоторые из моих выводов ранее. Я был заперт на что-то еще.

Официально сборка исходного кода Android поддерживается только на Leopard, а не на Snow Leopard. Погуглив, вы можете найти множество постов об этом и о том, как люди обошли это. Решение обычно включало изменение различных make-файлов и других настроек. Единственное, что касается этих решений, так это то, что многие стали устаревшими и больше не работают. Некоторые авторы обновили свои инструкции, а другие нет.

Кроме того, последний Xcode также оказался проблематичным. В общем, мои попытки получить исходный код Android на моей iOS-машине с Snow Leopard и последним XCode походили на бесконечную фрустрационную игру whack-a-mole.

Мое решение состояло в том, чтобы просто использовать Mac mini, который в данный момент не использовался, в качестве устройства разработки исходного кода Android. Я сделал чистую установку Leopard на нем. Я установил последнюю версию iPhone SDK + XCode, которая поддерживала Leopard. Я думаю, что это было для iOS 3.1.3. Затем, следуя инструкциям на сайте разработчика Android по созданию исходного кода, я добился успеха.

Так что я бы предложил либо то, что я сделал с отдельным боксом, либо если вы можете создать загрузочный раздел на вашем боксе и установить на него Leopard. Это, кажется, способ сделать это с наименьшим повреждением мозга.

Удачи,

Craig

0 голосов
/ 27 октября 2011

Я могу определенно второй dljava. Это это XCode 4.2, что вызывает проблемы. Я сделал точно такие же шаги на iMac SnowLeopard 10.6.8, запустил XCode 3.2.6 и все было хорошо ... после нескольких дней неприятностей на моем MacBook с XCode 4.2

0 голосов
/ 18 мая 2011

Мне повезло больше в компиляции и расширении CyanogenMod вместо непосредственного использования AOSP, и я использую Snow Leopard. Есть инструкции для ряда поддерживаемых устройств. Кроме того, Cyanogen, похоже, очень внимательно следит за AOSP, например, с недавней поддержкой 2.3.4.

Если вы работаете на Mac для устройства, которое официально не поддерживается CyanogenMod, шаблон для Mac *1006* - хорошее место для запуска.

Лично я использую домашний напиток, а не MacPorts, но это мелочь.

- Пекка Никандер

0 голосов
/ 03 апреля 2011

Обновление до Xcode 4.x является причиной, попробуйте удалить и переустановить 3.x

...