Пользователь Windows пытается собрать Android NDK проект, созданный для Linux - PullRequest
0 голосов
/ 07 июня 2019

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

Обработка 'команды' C: \ Users \ my-user \ AppData \ Local \ Android \ Sdk \ ndk-bundle / ndk-build.cmd '' завершена со значением выхода 2 (состояние: FAILED)

Я знаю, какая задача вызывает ее, но, как выясняется, похоже, что она может завершаться сбоем, потому что сценарии .mk и .sh написаны для Linux, тогда как я пользователь Windows.

Итак, я просматривал каждый файл .mk и .sh и преобразовывал его для работы в Windows, например ::

Изменение строк, например:

SOME_PROJECT_DIRECTORY := $(shell cd $(LOCAL_PATH)/build;pwd)

Кому:

RMSDK_HOME := $(LOCAL_PATH)/build

Тем не менее, я застреваю в таких строках:

SHELL_RESULT := $(shell $(SOME_PROJECT_DIRECTORY)/android/MyShellScript.sh $(SOME_PROJECT_DIRECTORY))

Где скрипт оболочки:

#!/bin/bash
if [ -n "$1" ]
then
MY_DIRECTORY=$1
else

... etc ...

Конечно, вы не можете запускать .sh скрипты в Windows, что означало бы, что мне обычно приходится вручную переписывать эти скрипты в пакетные файлы или что-то, что Windows может читать. Но мне интересно, есть ли способ построить этот проект без внесения каких-либо изменений в файлы? т.е. есть ли способ собрать эти файлы, написанные для Linux, для Windows?

1 Ответ

2 голосов
/ 08 июня 2019

Ваш лучший друг - WSL.В Windows 10 вы получаете оболочку Linux на родном языке.Вы используете версию NDK для Linux (x86_64), и все просто работает.Может быть сложно интегрировать это в Android Studio, но в любом случае вы обычно предпочитаете использовать готовые библиотеки для сторонних компонентов.

Если у вас есть git на вашем компьютере, у вас есть оболочка git bash.Возможно, стоит попытаться построить свой проект из этой оболочки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...