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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Путин
42 / 22 / 6
Регистрация: 14.04.2011
Сообщений: 578
#1

NDK библиотека собирается только под arm64-v8a - Программирование Android

20.07.2015, 01:39. Просмотров 643. Ответов 0
Метки нет (Все метки)

Использую Crystax NDK решил попробовать собрать проект под все платформы и тут увидел что он собирает только под 1 и мне кажется это связанно с добавлением посторонних .so библиотек в проект, хотя как раз таки посторонние библиотеки все оказываются в своих папках.

Application.mk:
Код
APP_ABI := all
#APP_ABI := armeabi
APP_PLATFORM := android-14
APP_OPTIM := release
APP_STL:= gnustl_static
APP_CFLAGS += -Wno-error=format-security
APP_LIBCRYSTAX := static

APP_CPPFLAGS := -std=c++0x
APP_USE_CPP0X := true

#APP_OPTIM := debug
NDK_TOOLCHAIN_VERSION := 4.9
Android.mk:
Код
LOCAL_PATH := $(call my-dir)

LOCAL_MODULE    := MyLib
LOCAL_SRC_FILES := MyLib.cpp
LOCAL_SRC_FILES += Settings.cpp
LOCAL_SRC_FILES += database/db.cpp

LOCAL_CFLAGS := -pthread 
LOCAL_CFLAGS += -frtti 
LOCAL_CFLAGS += -fexceptions 
LOCAL_CFLAGS += -DNDEBUG -Os -s -Wl,--strip-all
LOCAL_CFLAGS += -DOPENSSL_NO_ENGINE
LOCAL_CFLAGS += -IE:/Android/workspace/test/jni/OpenSSL/include
LOCAL_CFLAGS += -LE:/Android/workspace/test/jni/OpenSSL

LOCAL_LDLIBS := -llog
LOCAL_LDLIBS += -landroid
LOCAL_LDLIBS += -ldl


LOCAL_STATIC_LIBRARIES := boost_system_static
LOCAL_STATIC_LIBRARIES += boost_thread_static
LOCAL_STATIC_LIBRARIES += boost_filesystem_static
LOCAL_STATIC_LIBRARIES += sqlite3_static
LOCAL_SHARED_LIBRARIES := ssl
LOCAL_SHARED_LIBRARIES += crypto

include $(BUILD_SHARED_LIBRARY)
$(call import-module,boost/1.58.0)
$(call import-module,sqlite/3)

include $(CLEAR_VARS)
LOCAL_MODULE := ssl
LOCAL_SRC_FILES := E:/Android/workspace/test/jni/OpenSSL/$(TARGET_ARCH_ABI)/libssl.so
LOCAL_EXPORT_C_INCLUDES := C:/Users/Wex/Desktop/openssl-1.0.1e/ssl
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := crypto
LOCAL_SRC_FILES := E:/Android/workspace/test/jni/OpenSSL/$(TARGET_ARCH_ABI)/libcrypto.so
LOCAL_EXPORT_C_INCLUDES := C:/Users/Wex/Desktop/openssl-1.0.1e/crypto
include $(PREBUILT_SHARED_LIBRARY)
Лог сборки:
Код
[arm64-v8a] Compile++      : MyLib <= MyLib.cpp
[arm64-v8a] Compile++      : MyLib <= Settings.cpp
[arm64-v8a] Compile++      : MyLib <= db.cpp
[arm64-v8a] Prebuilt       : libssl.so <= E:/Android/workspace/test/jni/OpenSSL/arm64-v8a/
[arm64-v8a] Prebuilt       : libcrypto.so <= E:/Android/workspace/test/jni/OpenSSL/arm64-v8a/
[arm64-v8a] SharedLibrary  : libMyLib.so
[arm64-v8a] Install        : libMyLib.so => libs/arm64-v8a/libMyLib.so
[arm64-v8a] Install        : libcrypto.so => libs/arm64-v8a/libcrypto.so
[arm64-v8a] Install        : libssl.so => libs/arm64-v8a/libssl.so

[x86_64] Compile++      : MyLib <= MyLib.cpp
[x86_64] Compile++      : MyLib <= Settings.cpp
[x86_64] Compile++      : MyLib <= db.cpp
[x86_64] Prebuilt       : libcrypto.so <= E:/Android/workspace/test/jni/OpenSSL/x86_64/
[x86_64] Prebuilt       : libssl.so <= obj/local/x86_64/objs/MyLib/
[x86_64] Install        : libssl.so => libs/x86_64/libssl.so
[x86_64] Install        : libcrypto.so => libs/x86_64/libcrypto.so

[mips64] Compile++      : MyLib <= MyLib.cpp
[mips64] Compile++      : MyLib <= Settings.cpp
[mips64] Compile++      : MyLib <= db.cpp
[mips64] Prebuilt       : libcrypto.so <= E:/Android/workspace/test/jni/OpenSSL/mips64/
[mips64] Prebuilt       : libssl.so <= obj/local/mips64/objs/MyLib/
[mips64] Install        : libssl.so => libs/mips64/libssl.so
[mips64] Install        : libcrypto.so => libs/mips64/libcrypto.so

[armeabi-v7a] Compile++ thumb: MyLib <= MyLib.cpp
[armeabi-v7a] Compile++ thumb: MyLib <= Settings.cpp
[armeabi-v7a] Compile++ thumb: MyLib <= db.cpp
[armeabi-v7a] Prebuilt       : libcrypto.so <= E:/Android/workspace/test/jni/OpenSSL/armeabi-v7a/
[armeabi-v7a] Prebuilt       : libssl.so <= obj/local/armeabi-v7a/objs/MyLib/
[armeabi-v7a] Install        : libssl.so => libs/armeabi-v7a/libssl.so
[armeabi-v7a] Install        : libcrypto.so => libs/armeabi-v7a/libcrypto.so

[armeabi] Compile++ thumb: MyLib <= MyLib.cpp
[armeabi] Compile++ thumb: MyLib <= Settings.cpp
[armeabi] Compile++ thumb: MyLib <= db.cpp
[armeabi] Prebuilt       : libcrypto.so <= E:/Android/workspace/test/jni/OpenSSL/armeabi/
[armeabi] Prebuilt       : libssl.so <= obj/local/armeabi/objs/MyLib/
[armeabi] Install        : libssl.so => libs/armeabi/libssl.so
[armeabi] Install        : libcrypto.so => libs/armeabi/libcrypto.so

[x86] Compile++      : MyLib <= MyLib.cpp
[x86] Compile++      : MyLib <= Settings.cpp
[x86] Compile++      : MyLib <= db.cpp
[x86] Prebuilt       : libcrypto.so <= E:/Android/workspace/test/jni/OpenSSL/x86/
[x86] Prebuilt       : libssl.so <= obj/local/x86/objs/MyLib/
[x86] Install        : libssl.so => libs/x86/libssl.so
[x86] Install        : libcrypto.so => libs/x86/libcrypto.so

[mips] Compile++      : MyLib <= MyLib.cpp
[mips] Compile++      : MyLib <= Settings.cpp
[mips] Compile++      : MyLib <= db.cpp
[mips] Prebuilt       : libcrypto.so <= E:/Android/workspace/test/jni/OpenSSL/mips/
[mips] Prebuilt       : libssl.so <= obj/local/mips/objs/MyLib/
[mips] Install        : libssl.so => libs/mips/libssl.so
[mips] Install        : libcrypto.so => libs/mips/libcrypto.so
Явно что то с Make не то, OpenSSL библиотеки удачно появляются на своих местах, а моя только в 1...

Добавлено через 1 час 48 минут
Заметил что в самом начале нет "include $(CLEAR_VARS)"
добавил, после компиляция останавливалась с кучей "multiple definition", или Eclipse не знает что такое clean или я что то не так делаю, пришлось удалить все объекты .o и только тогда компиляция успешно прошла под все платформы.
Вопрос решен.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.07.2015, 01:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос NDK библиотека собирается только под arm64-v8a (Программирование Android):

Не собирается приложение с android NDK - Программирование Android
Всем привет, нашел на гите приложение для стриминга, импортрнул, всё без ошибок, но при билде вот что вылазит Error:Execution failed...

NDK под Android Studio - Программирование Android
Возможно ли это? Задача такая: Есть проект использующий простую (пока) библиотеку написаную на Си. Проект пишется на Студии и...

Есть некая библиотека, сделана в QT. Как скомпилить под Андроид с использованием qt-lib? - Программирование Android
Какие изменения нужно сделать в исходнике для компиляции под Андроид? в либе используются классы: #include &lt;QString&gt; #include...

VS2008 проект собирается только под Administrator - Visual Studio
Добрый день! Подскажите, может кто сталкивался: на компе с WindowsServer2003 стоит VS2008. Есть проект на VB, который удается...

Не собирается библиотека gmp - C++
Не уверен, что пишу в правильную ветку, надеюсь поправят, если что. Пытаюсь собрать gmp 6.1.1 для windows,следую вот этой инструкции...

Не собирается buildwrapper под Windows 7 - Haskell
Добрый день. Возникла следующая проблема с eclipsefp: Первое, что я сделал это установил Eclipse Java Mars 4.5.1, закрыл его и накатил...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2015, 01:39
Привет! Вот еще темы с ответами:

Не собирается проект под линуксом - C++ Qt
Здравствуйте!:cry::cry:Такая проблема, есть линь(МСВС). После долгих мучений все заработало, а после того, как в проект я вернула второй...

Не собирается QT приложение вне IDE под Windows - C++ Qt
Сразу напишу, что под Ubuntu все отлично собралось и работает, чтобы не искать проблемы в коде. И так, вот main.cpp: #include...

Библиотека под линукс - C++ Linux
Здравствуйте. Скажите,пожалуйста, как обычную программу на с++ в qt под linux превратить в библиотеку под linux, разработав к функциям...

.NET 3.x Библиотека Xnet под .NET 3.0 - C#
Есть ли версии Xnet ранней версии для NetFramework 3.0 ? У меня проект не принимает Xnet,он только на net 4.0 ?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru