2015-11-08 2 views
1

Я абсолютно не знаком с lein-droid и стараюсь this tutorial.Разработка приложений для Android с Clojure

Я следовал инструкциям по настройке в руководстве, теперь у меня есть 2 проблемы:

  1. После подключения моего Android смартфон с моим ноутбуком и работает lein droid doall в терминале, я не вижу ничего происходит в мой телефон, также я не вижу открытого nREPL.

  2. Что подразумевается под вводом «локальной машины» для хоста после выполнения M-x cider в emacs? Должен ли я вводить слово «localmachine» или это имя моего ноутбука или моего смартфона? Могу ли я просто запустить M-x cider-jack-in для этой цели?

@Mark Fischer Обновление моих проблем (это шаг за шагом, что я попытался (у меня есть 32-битную Ubuntu 14.04 LTS ОС)):

  1. скачал Android-sdk_r24.3.4 -linux.tgz для linux от here, распаковал его и запустил файл двоичного файла android, установленный SDK version >=15 (Android 4.0.3 or higher), Android Build Tools version >=20, Android Support Repository от менеджера.
  2. Поскольку я использую сидр на Emacs, я поставил

    :android-user {:dependencies [[cider/cider-nrepl "0.8.1"]] 
        :android {:aot-exclude-ns ["cider.nrepl.middleware.util.java.parser" 
                "cider.nrepl" "cider-nrepl.plugin"]}} 
    
    
    {:user {:plugins [ [lein-droid "0.4.0-alpha4"] ] }} 
    

    в моем ~/.lein/profiles.clj, как sugessted в учебниках.

  3. создать новый проект с lein new droid superapp my.company.superapp :activity MyActivity :target-sdk 15 :app-name SuperApp (копия пасты из учебника) и определить путь к андроида пакета (Android-СДК-Linux) я скачал и распакованы от андроида сайта в project.clj. Я также изменяю версию neko в project.clj: зависимости от "4.0.0-alpha1", как указано в учебниках.

  4. подключить Huawei смартфон к компьютеру, и в терминале запуска (первый из домашней директории) lein droid doall, я получаю это:

    'droid' is not a task. See 'lein help'. 
    
    Did you mean this? 
         do 
    

    , то я попробовать его из каталога supperapp, получить это уведомление:

    (Warning: profile :android-common not found.) 
    (Warning: profile :android-user not found.) 
    SDK platform 15 is not installed. 
    Please install it from your Android SDK manager. 
    

Таким образом, первая проблема возникает. Я открываю диспетчер sdk, а sdk-platform API 23, Rev 1 помечен как установленный. Как мне теперь идти?

ответ

2

Вы прочитали lein droid Tutorial? Есть раздел на connecting to the REPL, который лучше описывает «локальную машину», это просто «localhost».

Команда lein droid doall создает сервер neko nrepl, который осуществляет связь с вашим устройством. Он по умолчанию создает порт по умолчанию на вашем локальном компьютере (localhost) порт 9999, поэтому вы должны сказать Cider, чтобы подключиться к нему.

На этом сайте есть несколько советов, чтобы проверить, открыт ли порт 9999 с использованием netstat, и ищет в журналах logcat для его создания и больше параметров для отладки проблемы.

+0

Я прочитал учебник. Я делаю «M-x cider-connect», localhost найден по умолчанию как Host, и я ввожу 9999 для порта. Я получаю эту ошибку: 'nREPL: Не удалось подключиться напрямую'. – amirteymuri

+0

Вы просмотрели результаты logcat и netstat в соответствии с учебными страницами lein-droid (а не связанный с ним учебник по событиям, это два разных учебника)? порт открыт на вашем компьютере? вы используете windows/mac или linux? –

+0

Я совершенно новый для всей темы, поэтому я просмотрел раздел устранения неполадок. Когда я запускаю '/platform-tools/adb logcat' или' adb logcat -s neko.tools.repl' в терминале, я получаю: '* daemon не работает. начиная с порта 5037 * * daemon начал успешно * - в ожидании устройства, а затем я жду минут и ничего не происходит. У меня Ubuntu 14.04 (linux). – amirteymuri

Смежные вопросы