跳转到主要内容
本文档为 DreisamSDK 的 Android 平台标准集成指南,默认读者已熟悉 Android Studio 的基本操作,并具备一定的 Android 编程基础。

示例工程下载

  • Demo 文件夹:包含完整的 Android 项目,演示 SDK 的基础用法,可供开发参考。
  • libs 文件夹:内含 DreisamLib 库文件。

Android SDK 版本要求

当前 SDK 仅支持 Android 8.0 及以上版本

项目配置及集成步骤

  1. 解压集成压缩包 DreisamDemo V X.X.X.rar
  2. 将文件 libs/DreisamLib-release_xxx.aar 复制到工程的 libs/ 目录下。 具体目录结构可参考下图。
Image
  1. 修改工程的 dependencies 配置 添加以下依赖配置: implementation(files("libs/DreisamLib-release_1.0.1_2512311723.aar")) 配置详情可参考下图。 A34c0691 4a08 417f 9a1d 43ad7a8a5d32

完整的 build.gradle 配置文件

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    id("org.jetbrains.kotlin.kapt")
}

android {
    namespace = "com.dreisamlib.demo"
    compileSdk = 35

    defaultConfig {
        applicationId = "com.dreisam.demo"
        minSdk = 26
        targetSdk = 36
        versionCode = 1
        versionName = "1.0"
    }
  
    buildTypes {
        release {
            isShrinkResources = true // 是否开启资源压缩
            isMinifyEnabled = true // 是否开启代码混淆
            isDebuggable = false // 是否允许调试
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
        debug {
            isShrinkResources = false // 是否开启资源压缩
            isMinifyEnabled = false // 是否开启代码混淆
            isDebuggable = true // 是否允许调试
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }
}

dependencies {
    implementation(files("libs/DreisamLib-release_1.0.1_2512311723.aar"))

    implementation("androidx.activity:activity:1.8.0")
    implementation("androidx.core:core-ktx:1.8.0")
    implementation("androidx.appcompat:appcompat:1.6.1")
    implementation("com.google.android.material:material:1.8.0")
    implementation("androidx.constraintlayout:constraintlayout:2.1.4")

    // Gson 数据解析库
    implementation("com.google.code.gson:gson:2.13.2")
    implementation("me.dm7.barcodescanner:zxing:1.9.4")

    // 动态权限申请框架 XXPermissions
    implementation("com.github.getActivity:XXPermissions:26.0")
 
}

添加基础权限

AndroidManifest.xml 文件中添加以下权限声明:
<uses-permission
    android:name="android.permission.BLUETOOTH"/> <!-- 蓝牙连接权限 -->
<uses-permission
    android:name="android.permission.BLUETOOTH_ADMIN" /> <!-- 蓝牙扫描权限 -->
<!-- ************************ 定位权限(Android 11 及以下系统蓝牙扫描需配置)********************-->
<uses-permission
    android:name="android.permission.ACCESS_FINE_LOCATION"/> <!-- 精确定位权限,全版本必须声明 -->
<uses-permission
    android:name="android.permission.ACCESS_COARSE_LOCATION" /> <!-- 粗略定位权限 -->
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> <!-- 后台定位权限 -->
<!-- ************************ 蓝牙权限(Android 12 及以上系统需配置)********************-->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"
    android:usesPermissionFlags="neverForLocation" /><!-- 蓝牙扫描权限 -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <!-- 蓝牙连接权限 -->

混淆规则设置

在工程的混淆配置文件(proguard-rules.pro)中添加以下规则:
-keep class  com.dreisamlib.lib.* {*;}