Как запустить приложение для Android, написанное красным?

Когда я ввожу это в Windows CMD...

red -c -t Android hello.red

...Red выводит файл с именем hello без расширения имени файла. Если я передам этот файл на свое Android-устройство, оно не знает, что с ним делать.

Какие дополнительные шаги я должен выполнить, чтобы проверить мой красный код на моем устройстве Android? Какие из этих шагов, если таковые имеются, я должен сделать по-другому, в зависимости от того, будет ли мой код пытаться использовать мост Android?


person WiseGenius    schedule 23.06.2014    source источник


Ответы (4)


Портирование Android находится в процессе разработки в ветке android. В этой ветке с помощью:

red -t Android <script.red>

будет использовать серверную часть APK для нового уровня упаковки, который будет обрабатывать весь процесс создания APK для вас (при условии, что у вас предварительно установлен JDK1.6+). Если все прошло хорошо, вы получите APK в своей рабочей папке.

Если вам нужно отладить процесс сборки, вам нужно отредактировать файл system/formats/APK.r и установить в строке 11 слово verbose в yes.

Примечание. Мы работаем над удалением всех внешних зависимостей одну за другой.

РЕДАКТИРОВАТЬ: Порт Android Red был перемещен в частную ветку, и над ним активно работали. Оно будет опубликовано после того, как будет достигнута стадия бета-тестирования.

person DocKimbel    schedule 14.07.2014

Если вы не упаковываете исполняемый файл в .APK, то из соображений безопасности Android возводит некоторые стены на вашем пути к chmod +x и запускает.

Я следовал этим указаниям, просто с помощью:

$ cd /data/data/jackpal.androidterm/shared_prefs

$ cat /sdcard/Download/hello.bin > hello

$ chmod 755 ./hello

$ ./hello

Без рута или чего-то еще вы сталкиваетесь с этой странностью, например, используя cat вместо cp и помещая файл в странный каталог, где разрешено выполнение.

Проверено на Nexus 5.

person HostileFork says dont trust SE    schedule 23.06.2014
comment
Почти на месте. Это сработало для %tests/hello.red, но не для примеров моста: %bridges/android/samples/eval/eval.red %bridges/java/hello.red У меня подсказка просто возвращалась на следующую строку без каких-либо ошибок или действий после ./eval или ./hello. При намерении использовать мост необходимо ли в конце концов упаковывать исполняемый файл в .APK? Что еще я должен сделать, прежде чем я смогу использовать мост? - person WiseGenius; 09.07.2014
comment
Пример моста Java предназначен для работы с простой JVM с поддержкой JNI. Инструкции по его запуску содержатся в прилагаемом README. Пример моста Android — это только доказательство концепции, и его действительно нужно упаковать в .APK. Для этого вы либо запускаете build.r из Rebol 2 или загрузите готовый .APK, ссылка на который находится в сообщение в блоге, в котором сообщается о проверке концепции Android. - person earl; 10.07.2014

Я еще не пробовал, но проверьте это: http://www.red-lang.org/2011/12/arm-support-released.html Также вы можете знать, что экспериментальная версия Android находится здесь: https://github.com/красный/красный/дерево/андроид

person Oldes    schedule 23.06.2014
comment
Обратите внимание, что Red все еще находится в альфа-состоянии, так что не ожидайте слишком многого ;-) - person Oldes; 23.06.2014

Похоже, что на этот вопрос дан ответ, но для тех, кто хочет большего, есть статья о том, как начать работу с Red для Linux и Android, в мартовском выпуске журнала ODROID за 2014 г. по адресу http://magazine.odroid.com .

В выпуске за июль 2014 года (выпущенном в ближайшие несколько дней) Грегори Печерет также будет короткая статья с практическими рекомендациями, которая продемонстрирует создание .apk с нуля в Red.

person Respectech    schedule 09.07.2014