【发布时间】:2018-04-23 15:47:17
【问题描述】:
我的项目应用程序依赖于库模块 alib。 app 和 alib 都使用 ndk 构建了一个 c++ 库。名为 app.so 的应用程序 c++ 库依赖于 alib.so,这是库模块的 c++ 库。在应用程序的 android.mk 中,我有:
LOCAL_PATH := $(the_right_alib_path)
include $(CLEAR_VARS)
LOCAL_MODULE := alibsdk
LOCAL_SRC_FILES := libalib.so
include $(PREBUILT_SHARED_LIBRARY)
prebuilt-library.mk 上的 Gradle 同步失败,并显示消息 Android NDK: Check that /the_right_alib_path/libalib.so 存在或其路径是否正确。
如果我用 gradle 构建模块,文件就会在那里,当我做 gradle 同步时它自然不在那里。
如何跳过 prebuilt-library.mk 的执行? 或者有一种方法可以告诉 ndk alib.so 将由另一个 gradle 模块构建?
附言。这是更烦人的原因,实际上它会检查所有库的不同版本/风味/尺寸,我不需要构建所有这些库来处理应用程序的开发版本。
【问题讨论】:
-
关于你的 PS,试试这个 lifehack:groups.google.com/d/msg/android-ndk/1GI1_zjWNAs/MCPWtJv4CQAJ
-
感谢 Alex 的建议,作为一种解决方法,我目前在控制台上使用 touch 命令来伪造库的存在。其他要补充的是,我可以从命令行使用 gradle 编译。问题在于 Android Studio 上的 gradle 同步。
标签: android c++ android-studio gradle ndk-build