Bladeren bron

feat(app): 更新应用配置和依赖库

- 修改应用包名为 com.nova.brain.glass
- 升级编译SDK版本至33,最小SDK版本至26
- 添加多个第三方仓库地址包括阿里云、Rokid等
- 集成 Rokid Glass SDK 替代原有的串口和 RabbitMQ 依赖
- 在 Manifest 中添加存储、媒体、网络、蓝牙、位置等权限配置
- 添加系统级权限和功能声明支持
- 配置打包选项处理重复的 so 文件冲突
徐勤民 2 dagen geleden
bovenliggende
commit
807634b4c4

+ 9 - 3
app/build.gradle

@@ -60,6 +60,12 @@ android {
         experimental = true
     }
     namespace 'com.nova.brain.glass'
+
+    packagingOptions {
+        // 确保只保留第一个遇到的 so 文件
+        pickFirst 'lib/arm64-v8a/libr2aud.so'
+        pickFirst 'lib/armeabi-v7a/libr2aud.so'
+    }
 }
 
 dependencies {
@@ -73,9 +79,9 @@ dependencies {
     implementation 'androidx.appcompat:appcompat:1.3.0'
     implementation 'com.google.android.material:material:1.3.0'
 
-    implementation 'tp.xmaihh:serialport:2.1'
-
-    implementation 'com.rabbitmq:amqp-client:5.15.0'
+    implementation ('com.rokid.security:glass3.open.sdk:2.1.5-E') {
+        exclude group: "org.slf4j"
+    }
 
 
 }

+ 67 - 0
app/src/main/AndroidManifest.xml

@@ -1,8 +1,75 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools">
+    <!-- 存储权限 -->
+    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
+    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
+    <uses-permission
+        android:name="android.permission.MANAGE_EXTERNAL_STORAGE"
+        tools:ignore="AllFilesAccessPolicy,ScopedStorage" />
+
+    <!-- 媒体权限 -->
+    <uses-permission android:name="android.permission.CAMERA" />
+    <uses-permission android:name="android.permission.RECORD_AUDIO" />
+    <uses-permission android:name="android.permission.VIBRATE" />
+
     <!-- 网络权限 -->
     <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+
+    <!-- 蓝牙权限 -->
+    <uses-permission android:name="android.permission.BLUETOOTH" />
+    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
+    <uses-permission
+        android:name="android.permission.BLUETOOTH_SCAN"
+        android:usesPermissionFlags="neverForLocation"
+        tools:targetApi="31" />
+    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
+    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
+
+    <!-- 位置权限 -->
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
+
+    <!-- Android 12 及以上 Wi-Fi P2P 权限 -->
+    <uses-permission
+        android:name="android.permission.NEARBY_WIFI_DEVICES"
+        android:usesPermissionFlags="neverForLocation"
+        tools:targetApi="31" />
+
+    <!-- 功能声明 -->
+    <uses-feature
+        android:name="android.hardware.wifi.direct"
+        android:required="false" />
+    <uses-feature
+        android:name="android.hardware.camera"
+        android:required="false" />
+
+    <!-- 系统级权限 -->
+    <uses-permission
+        android:name="android.permission.REBOOT"
+        tools:ignore="ProtectedPermissions" />
+    <uses-permission
+        android:name="android.permission.BLUETOOTH_PRIVILEGED"
+        tools:ignore="ProtectedPermissions" />
+    <uses-permission
+        android:name="android.permission.FOREGROUND_SERVICE"
+        tools:ignore="ForegroundServicesPolicy" />
+    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_LOCATION" />
+    <uses-permission
+        android:name="android.permission.ACCESS_BACKGROUND_LOCATION"
+        tools:ignore="BackgroundLocationPolicy" />
+    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
+    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
+    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+    <uses-permission android:name="android.permission.WAKE_LOCK" />
+    <uses-permission
+        android:name="android.permission.DEVICE_POWER"
+        tools:ignore="ProtectedPermissions" />
 
     <application
         android:name=".MyApplication"

BIN
app/src/main/res/mipmap-hdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png


+ 17 - 3
build.gradle

@@ -3,7 +3,15 @@ apply from: "config.gradle"
 buildscript {
     ext.kotlin_version = "1.6.10"
     repositories {
+        google()
+        mavenCentral()
 	maven { url 'https://nexus.xuqinmin.com/repository/android/' }
+        maven { url 'https://maven.rokid.com/repository/maven-public/' }
+        maven { url 'https://maven.aliyun.com/nexus/content/repositories/releases/' }
+        maven { url 'https://maven.aliyun.com/repository/google/' }
+        maven { url 'https://maven.aliyun.com/repository/public/' }
+        maven { url 'https://www.jitpack.io' }
+
 //        maven {
 //            allowInsecureProtocol true
 //            url 'http://xuqinmin.com.cn:8081/repository/android-group/'
@@ -20,10 +28,16 @@ buildscript {
 
 allprojects {
     repositories {
-        // google()
-        // jcenter()
+        google()
+        mavenCentral()
         // maven { url 'http://developer.huawei.com/repo/' }
 	maven { url 'https://nexus.xuqinmin.com/repository/android/' }
+        maven { url 'https://maven.rokid.com/repository/maven-public/' }
+        maven { url 'https://maven.aliyun.com/nexus/content/repositories/releases/' }
+        maven { url 'https://maven.aliyun.com/repository/google/' }
+        maven { url 'https://maven.aliyun.com/repository/public/' }
+        maven { url 'https://www.jitpack.io' }
+
 //        maven {
 //            allowInsecureProtocol true
 //            url 'http://xuqinmin.com.cn:8081/repository/android-group/'
@@ -50,4 +64,4 @@ subprojects {
 }
 task clean(type: Delete) {
     delete rootProject.buildDir
-}
+}

+ 4 - 4
config.gradle

@@ -1,15 +1,15 @@
 ext {
     apps = [
             applicationName: 'C大脑',
-            applicationId  : 'com.xuqm.hp.vending'
+            applicationId  : 'com.nova.brain.glass'
     ]
     versions = [
             versionCode: 1,
             versionName: '1.0.0',
 
-            compileSdk : 30,
-            buildTools : '30.0.3',
-            minSdk     : 23,
+            compileSdk : 33,
+            buildTools : '33.0.0',
+            minSdk     : 26,
             targetSdk  : 29,
 
             paging     : '2.1.1',