Я относительно новичок в создании материалов с Android, Java, NDK и SDL. Но я работаю в примерном проекте, который я строю, и есть много чего, что я нахожу очень запутанным.Обновление инфраструктуры инфраструктуры NDK (с SDL)
Вот распечатка моего файла структурообразующих для справки:
MyProj
-android-project //I created this to dump android-specific junk into
--src //java source files
--jni //"java native interface" - c/c++ source files
--AndroidManifest.xml //packaged with .apk to inform OS of various details of app
--bin //binary files?
---AndroidManifest.xml //Copy of AndroidManifest.xml in above dir?
---AndroidManifest.xml.d
---SDLActivity-debug-unaligned.apk
---SDLActivity-debug-unaligned.apk.d
---SDLActivity-debug.apk
---SDLActivity.ap_
---SDLActivity.ap_.d
---build.prop
---classes
---classes.dex
---classes.dex.d
---dexedLibs
---proguard.txt
---res
---rsLibs
---rsObj
--gen //no idea
--libs //no idea
--obj //no idea
--res //no idea
--build.xml //points to files regarding build config
--default.properties //auto-generated?
--local.properties //auto-generated?
--project.properties //auto-generated?
Итак, у меня есть несколько конкретных вопросов, но если я ошибаюсь, о каких-либо предположений или есть пикантная из информации, что вы думаете, я может быть, отсутствует. Я бы очень хотел услышать об этом!
Anyways-
'бин' Папка:
Я бы предположить, "БИН" для бинарных файлов ... не так ли? Но похоже, что это не так. Он содержит копию AndroidManifest.xml (почему?), Пару других текстовых вещей, файл .apk моего проекта и кучу папок, которые я также не понимаю. У него также есть куча копий вещей с добавлением «.d» (например, AndroidManifest.xml.d). Зачем?
Кроме того, если я протрите эту папку, ndk-build завершится с ошибкой. Похоже, что здесь есть файлы конфигурации для сборки.
(редактирование: это было из-за ошибочного make-файла с моей стороны.) Слава богу тоже. Эта часть ДЕЙСТВИТЕЛЬНО не имела смысла ...) Я думаю, мои вопросы таковы: Какова роль папки bin? Какие файлы .d? Какие файлы можно безопасно удалить (получить сгенерированные во время сборки)?
'поколения', 'LIBS', 'OBJ', папки 'Res':
высокоуровневый обзор того, что происходит с этим было бы полезно, как хорошо. :) Кроме того, что из них безопасно для удаления (автоматически генерируется во время сборки)?
редактировать: при дальнейших экспериментов, оказывается «ген» можно смело протирать и получите автоматический повторно ген создававшие в процессе сборки.
Я думаю, что безопасно считать, что «libs» нельзя безопасно очистить, но все еще нечеткое, что именно оно делает.
выглядит так: «obj» МОЖЕТ также безопасно очищаться, хотя для этого потребуется более длительный процесс сборки, скомпилировав весь код SDL и т. Д. Появляется, чтобы содержать промежуточные файлы сборки для SDL.
'res' НЕ МОЖЕТ быть безопасно очищен. до сих пор не знаю, что в нем/что он делает.
The * .properties файлы
Если это автоматически генерируется, почему они в корне проекта? Я предполагаю, что это промежуточный файл процесса сборки?
редактировать: все они говорят они автоматически генерируется, но кажется, что они не могут быть удалены, иначе процесс сборки не удастся. Он скажет вам автоматически генерировать информацию о «sdk.dir» (что?), Используя «проект обновления android» (но поиск в stackoverflow говорит вам использовать «проект андроидного обновления -s -t» android-19 »-p ,', но это не будет работать из-за недопустимой цели, поэтому я должен ввести «цели списка Android», чтобы узнать цели, но этот список пуст и ughhh. поэтому я просто проверил эти файлы через git, и он снова работает. так yeah- до сих пор не знаю, что они, как они генерируются, почему они находятся там, где они есть, и т.д ...
TL; DR:
Он не чувствует, как вся эта сборка инфраструктуры абсурдно неясным/сложным. Какие штуки мне не хватает, что может помочь всем этим нажмите?
Я думаю, если есть какие-либо хорошие источники документации/объяснения того, что происходит со всем этим, я бы хотел, чтобы к нему обратились. Большая часть материала, который я нашел, принимает форму «о, вы хотите что-то создать для андроида?» Ну, нажмите здесь, затем здесь, затем здесь, и там вы идете! Он построен! », Где я бы предпочел что-то, что говорит мне, что происходит и почему/как.
Извините, это сообщение немного rambly- ответы на любые вопросы/указатели на любые ресурсы для дальнейшего обучения были бы очень признательны!
* «Похоже, что вся эта инфраструктура построения абсурдно неясна/сложна» * - это так, и все ухудшается. Подождите, пока вы не увидите неизвестные/необъяснимые проблемы с 'ant'. Или вы не можете понять, почему родная библиотека не копируется в APK, или ... – jww