Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Путин
42 / 22 / 13
Регистрация: 14.04.2011
Сообщений: 581
#1

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

20.07.2015, 01:39. Просмотров 844. Ответов 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
Всем привет, нашел на гите приложение для стриминга, импортрнул, всё без...

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

Подключить стороннюю NDK-библиотеку к своему NDK-проекту
Пытаюсь подключить к своему (на самом деле не совсем своему) NDK-проекту...

Есть некая библиотека, сделана в QT. Как скомпилить под Андроид с использованием qt-lib?
Какие изменения нужно сделать в исходнике для компиляции под Андроид? в либе...

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

Не собирается библиотека gmp
Не уверен, что пишу в правильную ветку, надеюсь поправят, если что. Пытаюсь...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2015, 01:39
Привет! Вот еще темы с решениями:

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

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

Не собирается QT приложение вне IDE под Windows
Сразу напишу, что под Ubuntu все отлично собралось и работает, чтобы не искать...

Как заставить работать МФУ j5520 под Win 7? Родные драйвера только под XP
Как заставить работать МФУ j5520 под Win 7? Родные драйвера только под XP. ...


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

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

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