Форум программистов, компьютерный форум CyberForum.ru

Сборка приложения NDK sample в Eclipse - Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Android Настройка Eclipse для работы с NDK http://www.cyberforum.ru/android-dev/thread761315.html
Итак, установил я NDK, SDK. В пакете с SDK есть и Eclipse со всеми плагинами. В настройках прописал пути до NDK и SDK. Создаю обычный Android Application Project. Правой кнопкой мыши на нём Android Tools--->Add Native Support... Ввожу название либы. В проекте появляется папка jni, в ней .cpp и Android.mk файлы. Нажимаю Export, ввожу ключи и тд. В итоге в консоли Eclips'а выдаёт это:
Android Посоветуйте планшет для тестирования приложений на андроид Решил разместить тут, т.к. мне не нужно мнение пользователя а нужно мнение программиста Какой посоветуете планшет в первую очередь для тестирования приложений андройда Собираюсь переходить на андроид делать 3д игрушки + программы для работы с смс и звонками Из планшетов по функционалу понравился Ritmix RMD-1050 http://www.ritmixrussia.ru/products/rmd-1050 http://www.cyberforum.ru/android-dev/thread761151.html
Android Создать объект что бы он двигался по екрану на языке Java
Здравствуйте) знаю глупо такое спрашывать,но не могу понять как зделать что бы на екране двигался объект по оси х в одну сторону и обратно..и все Работаю в среде Eclipse Если не трудно помогите мне написать такой код,в долгу не останусь.
Canvas и Activity Android
Есть класс наследующийся от activity. из которого переходишь в класс который рисует спрайты. Спрайты рисуются в потоке, собственно есть класс наследующийся от thead. Перехожу по нажатию кнопки из активити в рисование в канвасе, по достижению какого то момента должно перейти из класса с рисованием обратно к активити, как это сделать? Второй вопрос: можно ли в одном экране с элементами...
Android Прога крэшиться при сворачивании(нажатии Home) http://www.cyberforum.ru/android-dev/thread760562.html
Помогите, вот сорец: package com.example; import android.app.Activity; import android.content.Context; import android.graphics.*; import android.os.Bundle; import android.view.MotionEvent; import android.view.SurfaceHolder; import android.view.SurfaceView;
Android Изменить размер шрифта в виджете Т.к. в AppWidgetProvider не используется findViewById используют класс RemoteView. RemoteViews rv= new RemoteViews(context.getPackageName(), R.layout.widget_layout); используя rv можно поменять, например текст или его цвет, но нельзя поменять размер шрифта. Подскажите пожалуйста какую-нибудь идею как это осуществить? Спасибо. подробнее

Показать сообщение отдельно
John Prick
764 / 697 / 126
Регистрация: 27.07.2012
Сообщений: 1,988
Завершенные тесты: 3
17.08.2013, 23:27     Сборка приложения NDK sample в Eclipse
Цитата Сообщение от EVP Посмотреть сообщение
Одно замечание: в C/C++ Build->Builder Settings->Build command: ndk-build.cmd
Ага, а в книжке указано просто ndk-build (без .cmd), а без расширения не работает.

У меня проблема в другом: библиотека из примера не собирается. Пишет:
C
1
2
3
C:/Android/android-ndk-r9/build/core/build-shared-library.mk:30: *** Android NDK: Aborting    .  Stop.
Android NDK: jni/Android.mk:mylib: LOCAL_MODULE_FILENAME should not include file extensions    
Android NDK: jni/Android.mk:mylib: LOCAL_MODULE_FILENAME must not contain a file extension
В чём может быть проблема?

Добавлено через 10 часов 37 минут
Правильно говорят: утро вечера мудренее В общем, немного продвинулся вперёд. Маленький отчёт.

C
1
2
Android NDK: jni/Android.mk:mylib: LOCAL_MODULE_FILENAME should not include file extensions    
Android NDK: jni/Android.mk:mylib: LOCAL_MODULE_FILENAME must not contain a file extension
ndk-build говорит о том, что переменная LOCAL_MODULE_FILENAME не должна содержать расширения файла. Однако дело в том, что в make-файле Android.mk эта переменная у меня вовсе не используется. Лезем читать документацию по NDK (android_mk.html):
LOCAL_MODULE_FILENAME

This variable is optional, and allows you to redefine the name of generated files. By default, module will always generate a static library named lib.a or a shared library named lib.so, which are standard Unix conventions.

You can override this by defining LOCAL_MODULE_FILENAME, For example:

LOCAL_MODULE := foo-version-1
LOCAL_MODULE_FILENAME := libfoo
*NOTE(: You should not put a path or file extension in your LOCAL_MODULE_FILENAME, these will be handled automatically by the build system.
Мой вольный перевод:
LOCAL_MODULE_FILENAME

Эта переменная, не являющаяся обязательной, позволяет вам переопределить имя генерируемых файлов.

/*...*/

*ВАЖНО: вы не должны указывать путь к файлу или расширение файла в задаваемом вами значении переменной LOCAL_MODULE_FILENAME, ndk-build сделает это автоматически.
С одной стороны, вроде бы ничего нового я не узнал, а с другой - появилась идея таки задать эту переменную принудительно:
C
1
LOCAL_MODULE_FILENAME := mylib
Никаких расширений, как и требует ndk-build.
И мои старания были вознаграждены успешным билдом!

Но приложение запустить пока так и не удалось. System.LoadLibrary("mylib") говорит, что не может найти библиотеку, хотя файл сгенерирован и лежит в папке libs проекта. Опять прошу помощи.

ПС. Android NDK Beginner's Guide неплохая книжка, судя по первым главам. Но вот уже к концу второй главы добираюсь с боями. Всё не так просто, как пишут в книге. Хотя тут ещё накладывается то, что я пользуюсь последними версиями sdk, ndk, eclipse и проч., и по сравнению с книгой имеются заметные отличия.

Добавлено через 10 часов 43 минуты
Цитата Сообщение от John Prick Посмотреть сообщение
Но приложение запустить пока так и не удалось. System.LoadLibrary("mylib") говорит, что не может найти библиотеку, хотя файл сгенерирован и лежит в папке libs проекта. Опять прошу помощи.
Никто не хочет мне помогать. Разбирайся, дескать, сам. Ну и разберусь Правда, уже всё как-то на удаче выезжаю. Попробовал пример из следующей главы. Там ndk-build не выдаёт этой непонятной ошибки (которая про "LOCAL_MODULE_FILENAME не должен содержать расширения файла"), и можно увидеть, что он генерирует на самом деле. Так вот он генерирует файл библиотеки (.so), добавляя к его имени "lib". Т.е. если я в LOCAL_MODULE указал mylib, то сгенерированный файл библиотеки будет иметь имя libmylib.so. Ну и указал я:
C
1
LOCAL_MODULE_FILENAME := libmylib
и всё заработало: приложение собралось, запустилось на девайсе и отобразилось так, как и должно было по книге!

Но мои "достижения" из серии "нет худа без добра", ибо пример-то из следующей главы снова не собирается. Пока попробую разобраться сам, а завтра уже напишу.
 
Текущее время: 23:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru