plugins {
    id 'com.android.application'
}

android {
    compileSdk 28
    buildToolsVersion '30.0.3'

    defaultConfig {
        applicationId "chaoran.business.pda"
        minSdk 28
        targetSdk 28
        versionCode 1
        versionName "2.18"

        // 1.0 IDATA广播模式处理
        // 1.1 霍尼韦尔的监听修改（扫描网站二维码跳出程序，监听失效，调整）、斑马PDA广播模式设置
        // 1.2 霍尼韦尔EDA56、jdk11，gradle7.3、海信PDA广播支持
        // 1.3 东集 pda的支持
        // 1.4 联新 pda的支持 已经 adapter 关闭的判断
        // 1.5 urovo DT50 Lite pda的支持
        // 1.6 瑞星平板扫描，线程读取一半就返回处理
        // 1.7 暴露一个方法，跳转到index初始化页面
        // 1.8 霍尼韦尔EDA50p，在返回桌面，点击了新的扫描之后，出现再进入程序(新打开一样)无法扫描，从而导致问题，添加了一个stop2的方法，针对霍尼韦尔eda50p，不进行销毁，在真正销毁的方法关闭服务，还是存在程序返回桌面无法扫描问题，但是退出程序之后，新打开程序可以扫描
        // 1.9 海康威视  mv-idp5102  适配广播模式
        // 1.10 bug 代码判断没有结束
        // 1.11 霍尼韦尔EDA52
        // 1.12 屏幕旋转，采取配置化模式（只能竖屏、横屏）；取消旋转屏幕就重置activity生命周期
        // 1.13 新大陆pda 兼容广播模式；NLS-NFT10
        // 1.14 瑞芯 rk3566_r 添加引用 librockchip.so； 新加一个方法，返回当前PDA的厂家和型号
        // 1.15 系统状态栏根据配置进行设置
        // 1.16 idata pda 不设置模式
        // 1.17 霍尼韦尔EDA51、EDA50P，调用扫描枪的方法，在关闭的时候停止调用扫描枪
        // 1.18 瑞兴平板，读取扫描结果，使用同步加锁模式
        // 1.19 index页面接入初始化数据
        // 2.1 注册PDA的信息存储到文件内部，采取mac+固定加密串的MD5加密校验
        // 2.2 安卓14以上，无法获取mac地址，修改成获取唯一id作为mac地址
        // 2.3 适配IOT_Device:sc55g PDA 广播模式
        // 2.4 适配 qualcomm:mc50 PDA 广播模式
        // 2.5 mac地址存储文件（mac获取失败就随机一个）；监听返回按键，提示是否退出程序的提示窗口
        // 2.6 1、打开程序的时候清空缓存（为了程序更新的时候，不被缓存影响，不用手动清除、出现了用户手动清除的时候吧存储空间清除了）；
        //     2、判断是否初始化成功(webview成功)，如果已经加载完毕，那么apk不在拦截，调用js的方法让BS进行处理提示
        //     3、根据官方文档，将code的判断进行修改，添加了一个网络错误的页面进行提示(并且添加了一个重新加载的按钮，执行webview重新加载)
        // 2.7 海康威视  mv-idp5204  适配广播模式；和之前的idp5102厂家code不一样  宿州市立医院-李德
        // 2.8 编写一个通用的广播模式，action：chaoran.crtech.cn.pda.scan    key：barcode
        // 2.9 初始化屏幕方向
        // 2.10 再次添加了init.json文件，进行初始化ip等参数
        // 2.11 优化了保存配置的时候，重新加载页面方法，去设置初始化屏幕方向，已经init.json中添加了字段备注信息
        // 2.12 群创科技接入广播模式 中山市古镇人民医院 蒋凡
        // 2.13 取消监听旋转角度，使用系统自带的旋转（根据配置初始化，旋转方向：横、竖、随意）
        //      瑞芯适配器 接入 新的型号，使用的是 ttyS8；而不是ttyS1；并且只有一个接口。
        // 2.14 适配 AIFUU 陈安良：陆军特色中心医院
        // 2.15 添加文件选择和相机拍照功能
        // 2.16 暴露了一个直接调用相机的方法，非http input调用会出现默认的弹出窗口进行选择（相机、文件）
        // 2.17 支持原生相机，默认压缩；支持霍尼韦尔eda52服务扫描
        // 2.18 瑞兴平板，rk3568_r，存在两个ttyS8、ttyS1，2G内存之前是ttyS8才可以接收，4G内存的ttyS8直接报错，导致打不开，需要缓存ttyS1，改成兼容模式
        //      支持霍尼韦尔eda52服务扫描修改成广播模式，医院那边不要所谓的服务连续扫描
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ndk {
            abiFilters 'armeabi-v7a'
        }
    }

    //签名配置
    signingConfigs {
        release {
            storeFile file(RELEASE_STOREFILE);
            storePassword RELEASE_STORE_PASSWORD;
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
    }

    //构建类型
    buildTypes {
        release {
            minifyEnabled false //是否代码混淆
            multiDexEnabled true //防止方法数量超过65536导致错误
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            //配置签名
            signingConfig signingConfigs.release
        }
    }

    //关闭代码格式检查
    lintOptions {
        abortOnError false
    }

    //加载动态库
    sourceSets {
        main {
            jniLibs.srcDir(['libs'])
        }
    }

    //编译选项
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
/*    repositories {
        flatDir {
            dirs 'libs'
        }
    }*/
}
dependencies {
    compileOnly 'com.symbol:emdk:9.1.1'
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.2.1'
    implementation 'com.google.code.gson:gson:2.6.2'
    //加载jar包
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.preference:preference:1.1.1'
    //implementation fileTree(include: ['*.aar'], dir: 'libs')
    // 全屏，没有状态栏
    api 'com.readystatesoftware.systembartint:systembartint:1.0.3'
    implementation files('libs/armeabi-v7a/librockchip.so')
}