Невозможно импортировать libpng, libjpeg в ndk android - PullRequest
0 голосов
/ 02 июля 2018

Я разветвился, Библиотека Ucrop для обрезки и внесла некоторые изменения. Теперь я должен построить ndk, чтобы внести изменения. Но я получаю эту ошибку:

 Android NDK: jni/Android.mk: Cannot find module with tag 'libpng' in import path    
 Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?    
 Android NDK: The following directories were searched:    
 Android NDK: jni/Android.mk:15: *** Android NDK: Aborting.    .  Stop.

В проекте используется библиотека Cimg .

Это мой файл Android.mk:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE    := ucrop
LOCAL_SRC_FILES := uCrop.cpp

LOCAL_LDLIBS    := -landroid -llog -lz
LOCAL_STATIC_LIBRARIES := libpng libjpeg_static

include $(BUILD_SHARED_LIBRARY)

$(call import-module,libpng)
$(call import-module,libjpeg)

Я перепробовал все решения, которые предоставлены онлайн. Но ничего не сработало. Я пробовал " Добавление libpng в Android ndk Project " и много ответов.

1 Ответ

0 голосов
/ 08 июля 2018

Atlast, я заставил это работать. Это было трудно, потому что я был новичком в NDK. Но я опубликую, как я это сделал здесь, так как это может помочь другим новичкам.

Сначала я скачал libpng и libjpeg и сохранил его под Android/Sdk/ndk-bundle/sources. Я сохранил их под именами libpng и libjpeg соответственно.

Затем измените Android.mk, как показано ниже,

LOCAL_PATH := $(call my-dir)

LOCAL_P := /usr/lib/

include $(CLEAR_VARS)

LOCAL_MODULE    := ucrop
LOCAL_SRC_FILES := uCrop.cpp

LOCAL_LDLIBS    := -landroid -llog -lz
LOCAL_STATIC_LIBRARIES := libpng libjpeg9

include $(BUILD_SHARED_LIBRARY)

$(call import-module,libpng/jni)
$(call import-module,libjpeg/libjpeg9)

Затем установите путь к среде NDK_MODULE_PATH, как показано ниже,

export NDK_BUILD_PATH=/home/jerin/Android/Sdk/ndk-bundle/sources

Это важно, поскольку во время сборки ndk он ищет библиотеки по этому пути.

You can compile ndk-build during gradle build by following [this][1]. Right-click on the module you would like to link to your native library, such as the app module, and select Link C++ Project with Gradle from the menu. Then select ndk-build, and give path to Android.mk

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