Сбой сборки Android - Нет такого файла или каталога - ./apkbuilder

Я пытаюсь собрать пакет с помощью rake run:android, и я получаю сообщение об ошибке Нет такого файла или каталога - ./apkbuilder

Моя настройка проекта приведена ниже:

rhodes-3.5.1.12 Версия ndk: 32-битная версия ndk-r8b sdk: Android 4.2.2 API 17

Я пытался с 4.3 API 18, но он не работает.

Чтобы достичь этого, я скопировал файл aapt в platform-tools, также создал каталог lib в platform-tools и поместил в него файл dx.lib.

Я пробовал с разными комбинациями. Родос 3.4.2, ndk-r9 64 бит и 32 бит. У меня работает только 32-битный ndk-r8. Кто-нибудь может сказать мне, в чем здесь проблема?

Или рабочая комбинация sdk, ndk и rhodes?

Я исправил проблему. Добавлен новый ответ ниже.

4 ответа

Решение

Проблема отсутствующего apkbuilder.bat не в Android NDK, а в Android SDK. Google, в инструментах сборки r22 переместил некоторые файлы в другую директорию, нарушив родос и множество других инструментов Android.

У вас есть разные варианты:

  1. Используйте RhoMobile Suite v4.0
  2. Придерживайтесь RhoMobile Suite v.2.2, загружая последнюю версию v3.5 rhodes gem с github (используя ветку 3-5-stable).
  3. Используйте инструменты сборки Android SDK r21

Более подробная информация доступна на Launchpad, сайте сообщества RhoMobile компании Motorola Solutions.

Я исправил это в Mac OS:

Используйте последние версии SDK, NDK и Rhodes 4.0.0

Получить Родос, как следующие:

git clone git://github.com/rhomobile/rhodes.git
cd rhodes
git checkout 4.0.0 
gem build rhodes.gemspec
sudo gem install rhodes-4.0.0.gem

Попробуйте построить снова. Если все еще не работает, отправьте мне сообщение, я буду стараться изо всех сил:)

apkbuilder устарела.

ЭТОТ ИНСТРУМЕНТ УСТАРЕЛ и может перестать работать в любое время! текущий только пакетный или bash скрипт будет удален

Вы можете просто создать новый файл apkbuilder в директории android-sdk-linux/tools:

окно:

  copy android.bat apkbuilder.bat 
  modify apkbuilder.bat: change com.android.sdkmanager.Main to com.android.sdklib.build.ApkBuilderMain

Linux или Mac:

  cat android | sed -e 's/com.android.sdkmanager.Main/com.android.sdklib.build.ApkBuilderMain/g' > apkbuilder
  chmod a+x apkbuilder

Кажется, что:

  • Родос 3.5 не поддерживает 64 бит ndk

  • некоторые инструменты находятся в другом пути в ndk9 и Rhodes 3.5 не может их найти.

Таким образом, вы должны придерживаться 32 бит и ndk8 с родосом 3.5.

Родос 4 должен работать с 64 битами и ndk9.

Другие вопросы по тегам