I am getting this error while building project. Trying to add a new library in android-studio. Is there anybody who has an idea basically I am trying to create a new library here.
Options tried:
Manually deleted build
Invaildate cache/restart
Gradle clean build cache
Build->Clean Project
But build is failing.
Source C:\Users\abc\AndroidStudioProjects\Events\app\build\intermediates\cmake\debug\obj\armeabi-v7a\libnative-lib.so and destination C:\Users\abc\AndroidStudioProjects\Events\app\build\intermediates\cmake\debug\obj\armeabi-v7a\libnative-lib.so must be different
CMakeLists.txt I am using for the same:
# For more information about using CMake with Android Studio, read the
# documentation: https://d.android.com/studio/projects/add-native-code.html
# Sets the minimum version of CMake required to build the native library.
cmake_minimum_required(VERSION 3.4.1)
# Creates and names a library, sets it as either STATIC
# or SHARED, and provides the relative paths to its source code.
# You can define multiple libraries, and CMake builds them for you.
# Gradle automatically packages shared libraries with your APK.
add_library( # Sets the name of the library.
native-lib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
native-lib.cpp
)
add_library (
testLib
SHARED
TestClassesManager.cpp
)
# Searches for a specified prebuilt library and stores the path as a
# variable. Because CMake includes system libraries in the search path by
# default, you only need to specify the name of the public NDK library
# you want to add. CMake verifies that the library exists before
# completing its build.
find_library( # Sets the name of the path variable.
log-lib
# Specifies the name of the NDK library that
# you want CMake to locate.
log )
# Specifies libraries CMake should link to your target library. You
# can link multiple libraries, such as libraries you define in this
# build script, prebuilt third-party libraries, or system libraries.
target_link_libraries( # Specifies the target library.
native-lib
# Links the target library to the log library
# included in the NDK.
${log-lib}
)
target_link_libraries(
testLib
native-lib
)
The error goes away if I am replacing
target_link_libraries(
testLib
native-lib
)
by
target_link_libraries(
testLib
${log-lib}
)
But I want to link both libraries. But it is giving above error. Please help.
This is a weird bug, but thank you for the concise repro project. Actually had someone mention this to me the other day but I hadn't had any luck reproducing the failure.
I'm still investigating here, but for now it seems that a workaround is to run clean, then refresh linked c++ projects, then build. If you need to use the "refresh linked c++ projects" button, again, run clean first.
A fix has been cherry-picked and will be in 4.0.1.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With