Android sdk-29版本上使用 jni mkdir创建文件夹失败返回-1

Android sdk-29版本上使用 jni mkdir创建文件夹失败返回-1

+    compileSdkVersion 29
    buildToolsVersion "29.0.2"
    defaultConfig {
        applicationId "com.kxf.opencvandroiddemo"
        minSdkVersion 19
        targetSdkVersion 29
        versionCode 1
        versionName "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 28
buildToolsVersion "28.0.3"
defaultConfig {
    applicationId "com.kxf.bankcardocr"
    minSdkVersion 19
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"

原因分析:可能是Android高版本的sdk对访问sdcard做了限制,由于时间原因,没有深入分析原因!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值