Size: a a a

Android NDK (C++) — русскоговорящее сообщество

2020 April 22

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
or if i have

[build.gradle]    sourceSets.main.jniLibs.srcDirs = ['src/main/libs/', '../mobile-ffmpeg/']


[CMakeLists.txt] add_library(ffmpeg-avcodec-arm64 SHARED IMPORTED)
[CMakeLists.txt] set_target_properties(
       ffmpeg-avcodec-arm64 PROPERTIES IMPORTED_LOCATION
       prebuilt/android-arm64/ffmpeg/lib/libavcodec.so
)

it will search as

SEARCH=src/main/libs/prebuilt/android-arm64/ffmpeg/lib/libavcodec.so

NOT FOUND

SEARCH=../mobile-ffmpeg/prebuilt/android-arm64/ffmpeg/lib/libavcodec.so

FOUND
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
would that be correct?
источник

V

Vologhat in Android NDK (C++) — русскоговорящее сообщество
Matthew Good
or if i have

[build.gradle]    sourceSets.main.jniLibs.srcDirs = ['src/main/libs/', '../mobile-ffmpeg/']


[CMakeLists.txt] add_library(ffmpeg-avcodec-arm64 SHARED IMPORTED)
[CMakeLists.txt] set_target_properties(
       ffmpeg-avcodec-arm64 PROPERTIES IMPORTED_LOCATION
       prebuilt/android-arm64/ffmpeg/lib/libavcodec.so
)

it will search as

SEARCH=src/main/libs/prebuilt/android-arm64/ffmpeg/lib/libavcodec.so

NOT FOUND

SEARCH=../mobile-ffmpeg/prebuilt/android-arm64/ffmpeg/lib/libavcodec.so

FOUND
add to build.gradle sourceSets.main.jniLibs.srcDirs = ['src/main/libs/', '../mobile-ffmpeg/']
источник

V

Vologhat in Android NDK (C++) — русскоговорящее сообщество
not to cmakelist.txt
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
i know
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
but still, would it be correct?
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
i still dont have the libs ;-;
источник

EB

Evgen Bodunov in Android NDK (C++) — русскоговорящее сообщество
Have you checked ndk examples? https://github.com/android/ndk-samples
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
i think it was cus i forgot to do

target_link_libraries (
       FFMPEG-ANDROID-BASE-arm64
       ffmpeg-avcodec-arm64
       ffmpeg-avdevice-arm64
       ffmpeg-avfilter-arm64
       ffmpeg-avformat-arm64
       ffmpeg-avutil-arm64
       ffmpeg-swresample-arm64
       ffmpeg-swscale-arm64
)
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
now i get

ninja: error: 'libavcodec.so', needed by '/Users/mac/StudioProjects/libmedia-Upated/app/build/intermediates/cmake/debug/obj/arm64-v8a/libFFMPEG-ANDROID-BASE-arm64.so', missing and no known rule to make it

add_library(ffmpeg-avcodec-arm64 SHARED IMPORTED)
set_target_properties(
       ffmpeg-avcodec-arm64 PROPERTIES IMPORTED_LOCATION libavcodec.so
)


   sourceSets.main.jniLibs.srcDirs = ['src/main/libs/', '../mobile-ffmpeg/prebuilt/']

Macs-MacBook-Air:app mac$ ls -l src/main/libs/libavcodec.so
-rwxr-xr-x  1 mac  staff  23938368 Apr 22 20:27 src/main/libs/libavcodec.so
Macs-MacBook-Air:app mac$ pwd
/Users/mac/StudioProjects/libmedia-Upated/app
Macs-MacBook-Air:app mac$
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
target_link_libraries(yourlib android log z)
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
this one works
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
ok so
        ${CMAKE_SOURCE_DIR}/../../libs/libavcodec.so

works
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
lets see if ${CMAKE_SOURCE_DIR}/android-arm64/ffmpeg/lib/libavcodec.so works
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
i get ninja: error: '/Users/mac/StudioProjects/libmedia-Upated/app/src/main/java/libmedia/android-arm64/ffmpeg/lib/libavcodec.so'
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
*tries CMAKE_CURRENT_SOURCE_DIR *
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
yay that works
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
add_library(ffmpeg-avcodec-arm64 SHARED IMPORTED)
set_target_properties(
       ffmpeg-avcodec-arm64 PROPERTIES IMPORTED_LOCATION
       ${CMAKE_CURRENT_SOURCE_DIR}/android-arm64/ffmpeg/lib/libavcodec.so
)


so i need that ^~^
источник

MG

Matthew Good in Android NDK (C++) — русскоговорящее сообщество
YAY
источник

AT

Arkadi Tolkun in Android NDK (C++) — русскоговорящее сообщество
You can use something like add_library(yurlib SHARED ${SRCS})
источник