Android Studio构建Buildbox导出应用报错求助:含C++文件无支持原生构建系统
解决Buildbox导出项目的原生构建系统报错问题
嘿,我之前帮朋友处理过Buildbox导出Android项目时的这个报错,给你几个靠谱的解决办法:
这个错误的核心原因是:Buildbox导出的项目里包含了C++原生代码,但Android Studio找不到对应的构建配置文件(CMakeLists.txt 或者 Android.mk/Application.mk),所以没法编译这些原生代码。
方案一:用ndk-build配置原生代码
- 先检查项目的
app/src/main/jni目录,没有的话就手动新建一个 - 在这个目录里创建两个配置文件:
- Android.mk:写入基础构建规则,示例如下(记得替换成你的C++文件名):
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := native-lib LOCAL_SRC_FILES := native-lib.cpp # 这里改成你实际的C++文件名 include $(BUILD_SHARED_LIBRARY) - Application.mk:指定ABI兼容范围和最低Android版本:
APP_ABI := all APP_PLATFORM := android-21
- Android.mk:写入基础构建规则,示例如下(记得替换成你的C++文件名):
- 打开
app模块下的build.gradle,在android代码块里添加ndk-build的配置:externalNativeBuild { ndkBuild { path file('src/main/jni/Android.mk') } }
方案二:改用CMake构建(Android Studio推荐方式)
- 在项目根目录或者
app/src/main/cpp目录下创建CMakeLists.txt,示例配置如下:cmake_minimum_required(VERSION 3.4.1) add_library( native-lib SHARED src/main/cpp/native-lib.cpp # 替换成你的C++文件路径 ) find_library( log-lib log ) target_link_libraries( native-lib ${log-lib} ) - 同样在
app/build.gradle的android块里添加CMake配置:externalNativeBuild { cmake { path file('CMakeLists.txt') } }
方案三:临时禁用原生代码构建(应急用)
如果暂时用不到原生代码功能,可以先跳过原生代码的编译(不推荐长期使用,可能导致Buildbox导出的部分功能失效):
- 在
app/build.gradle的android块里添加:sourceSets { main { jni.srcDirs = [] jniLibs.srcDir 'libs' } }
完成配置后,点击Android Studio右上角的「Sync Project with Gradle Files」按钮同步项目,然后重新构建应该就能解决这个报错了。
内容的提问来源于stack exchange,提问作者Musayyab Naveed
相关产品推荐
相关产品推荐

