Android sdk-29版本上使用 jni mkdir创建文件夹失败返回-1
+ compileSdkVersion 29buildToolsVersion "29.0.2"defaultConfig {applicationId "com.kxf.opencvandroiddemo"minSdkVersion 19targetSdkVersion 29versionCode 1versionName "1.0"testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}
std::string prefix = "/storage/emulated/0/aCardOCR/";if (access(prefix.c_str(), 0) == -1){//如果文件夹不存在int code = mkdir(prefix.c_str(), S_IRWXU);//则创建LOGE("%s 创建 %d", prefix.c_str(), code);}
解决方法:sdk降回28,如下
compileSdkVersion 28buildToolsVersion "28.0.3"defaultConfig {applicationId "com.kxf.bankcardocr"minSdkVersion 19targetSdkVersion 28versionCode 1versionName "1.0"
原因分析:可能是Android高版本的sdk对访问sdcard做了限制,由于时间原因,没有深入分析原因!
如果觉得《Android sdk-29版本上使用 jni mkdir创建文件夹失败返回-1》对你有帮助,请点赞、收藏,并留下你的观点哦!