A12预装app

在A12上预装应用,出现了一个异常。在此记录

        

问题描述:

在A12上预装应用按照A13的预装方案报错,mk文件如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := Tideen_PTT
LOCAL_MODULE_STEM := Tideen_PTT_V5.49_20250730_JG.apk
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_PATH := $(TARGET_OUT)/vital-app
LOCAL_SRC_FILES := Tideen_PTT_V5.49_20250730_JG.apk
#LOCAL_PRIVILEGED_MODULE := true
LOCAL_ENFORCE_USES_LIBRARIES := false
#LOCAL_PREBUILT_JNI_LIBS := $(subst $(LOCAL_PATH)/,,$(wildcard $(LOCAL_PATH)/lib/arm64-v8a/*.so))
include $(BUILD_PREBUILT)
#==================================================
# Install default-app default-permisison file
#==================================================
include $(CLEAR_VARS)
LOCAL_MODULE := default_permissions_tiddenptt.xmlLOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/default-permissions
LOCAL_SRC_FILES := $(LOCAL_MODULE)
include $(BUILD_PREBUILT)
#==================================================
# Install priv-app permisison file
#==================================================
include $(CLEAR_VARS)
LOCAL_MODULE:=privapp-permissions-tiddenptt.xml
LOCAL_MODULE_TAGS:=optional
LOCAL_MODULE_CLASS:=ETC
LOCAL_MODULE_PATH:=${TARGET_OUT_ETC}/permissions
LOCAL_SRC_FILES:=${LOCAL_MODULE}
include ${BUILD_PREBUILT}

结果预装成功,打开应用报错,日志如下:


2025-08-14 15:37:53.633 BufferQueueProducer     com.android.launcher3                E  [ViewRootImpl[QuickstepLauncher]#3(BLAST Consumer)3](id:76000000006,api:0,p:-1,c:1888) disconnect: not connected (req=1)
2025-08-14 15:37:53.643 LoadedApk               tideen.talkback                      E  Unable to instantiate appComponentFactoryjava.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" on path: DexPathList[[zip file "/system/app/Tideen_PTT/Tideen_PTT.apk"],nativeLibraryDirectories=[/system/app/Tideen_PTT/lib/arm, /system/app/Tideen_PTT/Tideen_PTT.apk!/lib/armeabi-v7a, /system/lib, /system_ext/lib, /system/lib, /system_ext/lib]]at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:218)at java.lang.ClassLoader.loadClass(ClassLoader.java:379)at java.lang.ClassLoader.loadClass(ClassLoader.java:312)at android.app.LoadedApk.createAppFactory(LoadedApk.java:268)at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:985)at android.app.LoadedApk.getClassLoader(LoadedApk.java:1072)at android.app.LoadedApk.getResources(LoadedApk.java:1320)at android.app.ContextImpl.createAppContext(ContextImpl.java:3024)at android.app.ContextImpl.createAppContext(ContextImpl.java:3016)at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6708)at android.app.ActivityThread.access$1500(ActivityThread.java:268)at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2095)at android.os.Handler.dispatchMessage(Handler.java:106)at android.os.Looper.loopOnce(Looper.java:201)at android.os.Looper.loop(Looper.java:288)at android.app.ActivityThread.main(ActivityThread.java:7941)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:553)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1001)
2025-08-14 15:37:53.698 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:53.716 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:53.777 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:54.006 libc                    tideen.talkback                      A  Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc in tid 4523 (tideen.talkback), pid 4523 (tideen.talkback)
2025-08-14 15:37:54.754 DEBUG                   crash_dump32                         A  *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2025-08-14 15:37:54.755 DEBUG                   crash_dump32                         A  Native Crash TIME: 854521
2025-08-14 15:37:54.755 DEBUG                   crash_dump32                         A  *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2025-08-14 15:37:54.756 DEBUG                   crash_dump32                         A  Build fingerprint: 'UNISOC/sl8541e_1h10_go_32b/sl8541e_1h10_32b:12/SP1A.210812.016/32414:userdebug/test-keys'
2025-08-14 15:37:54.756 DEBUG                   crash_dump32                         A  Revision: '0'
2025-08-14 15:37:54.757 DEBUG                   crash_dump32                         A  ABI: 'arm'
2025-08-14 15:37:54.757 DEBUG                   crash_dump32                         A  Timestamp: 2025-08-14 15:37:54.163977028+0800
2025-08-14 15:37:54.758 DEBUG                   crash_dump32                         A  Process uptime: 1s
2025-08-14 15:37:54.758 DEBUG                   crash_dump32                         A  Cmdline: tideen.talkback
2025-08-14 15:37:54.759 DEBUG                   crash_dump32                         A  pid: 4523, tid: 4523, name: tideen.talkback  >>> tideen.talkback <<<
2025-08-14 15:37:54.759 DEBUG                   crash_dump32                         A  uid: 10062
2025-08-14 15:37:54.759 DEBUG                   crash_dump32                         A  signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xc
2025-08-14 15:37:54.760 DEBUG                   crash_dump32                         A  Cause: null pointer dereference
2025-08-14 15:37:54.760 DEBUG                   crash_dump32                         A      r0  00000000  r1  ae68b9a0  r2  beb5acd8  r3  37a85ae2
2025-08-14 15:37:54.761 DEBUG                   crash_dump32                         A      r4  b10856e0  r5  beb5acd8  r6  ae68b9a0  r7  870d51f7
2025-08-14 15:37:54.761 DEBUG                   crash_dump32                         A      r8  beb5acfc  r9  00000095  r10 acec52cc  r11 beb5ad5c
2025-08-14 15:37:54.762 DEBUG                   crash_dump32                         A      ip  00000065  sp  beb5abd0  lr  00000063  pc  870adb9e
2025-08-14 15:37:54.762 DEBUG                   crash_dump32                         A  backtrace:
2025-08-14 15:37:54.762 DEBUG                   crash_dump32                         A        #00 pc 000aeb9e  [anon:.bss]
2025-08-14 15:37:54.887 tombstoned              tombstoned                           E  Tombstone written to: tombstone_02
2025-08-14 15:37:54.917 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:54.962 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:54.975 system_server           system_process                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.035 NativeTombstoneManager  system_process                       E  Tombstone has invalid selinux label (u:r:platform_app:s0:c512,c768??), ignoring
2025-08-14 15:37:55.472 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.505 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.516 droid.launcher          com.android.launcher3                E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.523 BufferQueueProducer     com.android.systemui                 E  [ViewRootImpl[talkback]#5(BLAST Consumer)5](id:5fb00000005,api:0,p:-1,c:1531) disconnect: not connected (req=1)
2025-08-14 15:37:55.535 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.538 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.554 droid.launcher          com.android.launcher3                E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.567 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.569 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.589 droid.launcher          com.android.launcher3                E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.599 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.602 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.617 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.632 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.665 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.698 surfaceflinger          surfaceflinger                       E  Shared attribute region not available to be mapped
2025-08-14 15:37:55.891 SLOGCP                  slogmodem                            E  data_rate_stat: cp_5mode rate 187369.733333
2025-08-14 15:37:55.968 SLOGCP                  slogmodem                            E  data_rate_stat: cp_wcn rate 0.000000
2025-08-14 15:37:55.969 SLOGCP                  slogmodem                            E  data_rate_stat: cp_gnss rate 0.000000

mk文件修改如下:

LOCAL_PATH:= $(call my-dir)
#$(shell cp -rf $(LOCAL_PATH)/libs/armeabi/* $(TARGET_OUT)/lib)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE := Tideen_PTT
LOCAL_MODULE_CLASS := APPS
LOCAL_CERTIFICATE := PRESIGNED
#LOCAL_MODULE_PATH := $(TARGET_OUT)/app
LOCAL_SRC_FILES := Tideen_PTT_V5.49_20250730_JG.apk
include $(BUILD_PREBUILT)

删除LOCAL_MODULE_PATH  声明。

权限在代码中的处理 

权限没有使用权限文件,在Framework/base下声明,操作如下:

声明应用权限

commit dd5ea868a3eff8b2070bbe73b417bf4ba89e5e91                                                                                  
Author: lijp <lijp@flyscale.cn>                                                                                                  
Date:   Thu Aug 14 16:09:55 2025 +0800                                                                                           添加应用权限                                                                                                                 Change-Id: I3bf4c7c4d2c088ffc33e3147e2eabcaecb5b7ad2                                                                         diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml                               
index 648de283ac0a..b5586549e1dd 100644                                                                                          
--- a/data/etc/privapp-permissions-platform.xml                                                                                  
+++ b/data/etc/privapp-permissions-platform.xml                                                                                  
@@ -561,7 +561,59 @@ applications that come with the platform                                                                    <privapp-permissions package="com.android.calllogbackup">                                                                   <permission name="com.android.voicemail.permission.READ_VOICEMAIL"/>                                                    </privapp-permissions>                                                                                                      
-                                                                                                                                
+ <privapp-permissions package="tideen.talkback">                                                                                
+                                                                                                                                
+    <permission name="android.permission.ACCESS_NETWORK_STATE"/>                                                                
+    <permission name="android.permission.ACCESS_WIFI_STATE"/>                                                                   
+    <permission name="com.android.launcher.permission.INSTALL_SHORTCUT"/>                                                       
+    <permission name="android.permission.RECORD_AUDIO"/>                                                                        
+    <permission name="android.permission.RECORD_VIDEO"/>                                                                        
+    <permission name="android.hardware.usb.host"/>                                                                              
+    <permission name="android.permission.MOUNT_FORMAT_FILESYSTEMS"/>                                                            
+    <permission name="android.permission.WRITE_EXTERNAL_STORAGE"/>                                                              
+    <permission name="android.permission.WRITE_MEDIA_STORAGE"/>                                                                 
+    <permission name="android.permission.READ_EXTERNAL_STORAGE"/>                                                               
+    <permission name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>                                                           
+    <permission name="android.permission.INTERNET"/>                                                                            
+    <permission name="android.permission.RECEIVE_BOOT_COMPLETED"/>                                                              
+    <permission name="android.permission.CHANGE_CONFIGURATION"/>                                                                
+    <permission name="android.permission.FLASHLIGHT"/>                                                                          
+    <permission name="android.permission.VIBRATE"/>                                                                             
+    <permission name="android.permission.ACCESS_COARSE_LOCATION"/>                                                              
+    <permission name="android.permission.QUERY_GPS_LOCATION_PROVIDER"/>                                                         
+    <permission name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/>                                                      
+    <permission name="android.permission.DISABLE_KEYGUARD"/>                                                                    
+    <permission name="android.permission.ACCESS_FINE_LOCATION"/>                                                                
+    <permission name="com.android.launcher.permission.READ_SETTINGS"/>                                                          
+    <permission name="android.permission.WAKE_LOCK"/>                                                                           
+    <permission name="android.permission.GET_TASKS"/>                                                                           
+    <permission name="android.permission.READ_PHONE_STATE"/>                                                                    
+    <permission name="android.permission.PROCESS_OUTGOING_CALLS"/>                                                              
+    <permission name="android.permission.READ_LOGS"/>                                                                           
+    <permission name="android.permission.READ_SETTINGS"/>                                                                       
+    <permission name="android.permission.WRITE_SETTINGS"/>                                                                      
+    <permission name="android.permission.CAMERA"/>                                                                              
+    <permission name="android.permission.EXPAND_STATUS_BAR"/>                                                                   
+    <permission name="android.permission.RESTART_PACKAGES"/>                                                                    
+    <permission name="android.permission.READ_CALL_LOG"/>                                                                       
+    <permission name="android.permission.READ_SMS"/>                                                                            
+    <permission name="android.permission.CALL_PHONE"/>                                                                          
+    <permission name="android.permission.SEND_SMS"/>                                                                            
+    <permission name="android.permission.RECEIVE_SMS"/>                                                                         
+    <permission name="android.permission.REORDER_TASKS"/>                                                                       
+    <permission name="android.permission.SYSTEM_ALERT_WINDOW"/>                                                                 
+    <permission name="android.permission.MODIFY_AUDIO_SETTINGS"/>                                                               
+    <permission name="android.permission.NFC"/>                                                                                 
+    <permission name="android.permission.BLUETOOTH"/>                                                                           
+    <permission name="android.permission.BLUETOOTH_ADMIN"/>                                                                     
+    <permission name="android.permission.KILL_BACKGROUND_PROCESSES"/>                                                           
+    <permission name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>                                                
+    <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>                                                         
+    <permission name="android.permission.REQUEST_INSTALL_PACKAGES"/>                                                            
+    <permission name="android.permission.FOREGROUND_SERVICE"/>                                                                  
+    <permission name="android.permission.MANAGE_EXTERNAL_STORAGE"/>                                                             
+    <permission name="android.permission.CHANGE_WIFI_STATE"/>                                                                   
+      </privapp-permissions>                                                                                                    <!-- UNISOC: For SubsidyLock Feature @{ -->                                                                                 <privapp-permissions package="com.rjio.slc">                                                                                <permission name="android.permission.READ_PRIVILEGED_PHONE_STATE" />   

授权默认权限

Date:   Thu Aug 14 16:46:31 2025 +0800设置默认权限Change-Id: I75de88afb5cdd8fd98e49689bc89b487ddb0e85adiff --git a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java b/services/core/java/com/andro
id/server/pm/permission/DefaultPermissionGrantPolicy.java
index 8dde45f166bf..cdf996aad6dd 100755
--- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
+++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
@@ -580,6 +580,14 @@ final class DefaultPermissionGrantPolicy {PHONE_PERMISSIONS, CONTACTS_PERMISSIONS, STORAGE_PERMISSIONS);}+        PackageInfo uni = getPackageInfo("tideen.talkback");
+        if (uni != null && doesPackageSupportRuntimePermissions(uni)) {
+            grantPermissionsToPackage(
+                    uni, userId, false, true, true,
+                    PHONE_PERMISSIONS, CONTACTS_PERMISSIONS, STORAGE_PERMISSIONS,
+                   ALWAYS_LOCATION_PERMISSIONS,MICROPHONE_PERMISSIONS,CAMERA_PERMISSIONS);
+        }
+// InstallergrantSystemFixedPermissionsToSystemPackage(pm,ArrayUtils.firstOrNull(getKnownPackages(

以上~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/93222.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/93222.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

termios 线程 poll epoll进化 二叉AVL红黑树

struct termios tio 是什么 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <termios.h>#define SERIAL_PORT "/dev/ttyS0" #define BUF_SIZE 256int main(v…

C++设计模式:类间关系

类封装了数据和行为&#xff0c;是面向对象的重要组成部分&#xff0c;它是具有相同属性、操作、关系的对象集合的总称。在系统中&#xff0c;每个类都具有一定的职责&#xff0c;职责指的是类要完成什么样子的功能&#xff0c;要承担什么样子的义务。一个类可以有多种职责&…

MSYS2+CMake配置C/C++开发环境

目录一、MSYS2是什么1.1 核心架构与组件​​1.1.1 背景介绍1.1.1.1 Cygwin1.1.1.2 MinGW和Mingw-w641.1.1.3MSYS和MSYS21.1.2 技术基础​​1.1.3 多环境支持​​1.2 核心功能​​1.2.1 类Unix开发环境​​1.2.2 开发工具链​​1.2.3 软件仓库与包管理​​二、安装和配置2.1 配置…

Vue 3 + TypeScript:package.json 示例 / 详细注释说明

一、示例 / 详细注释说明 {// 项目基础信息"name": "vite-project", // 项目名称&#xff08;建议使用 kebab-case 格式&#xff09;"private": true, // 标记为私有项目&#xff0c;避免意外发布到 npm"version": "1.0.…

SpatialVLM和SpatialRGPT论文解读

目录 一、SpatialVLM 1、概述 2、方法 3、实验 二、SpatialRGPT 1、概述 2、方法 3、训练方法 4、实验 一、SpatialVLM 1、概述 SpatialVLM是最早的依赖传统VLMs实现3D空间推理能力的论文&#xff0c;在24年1月由DeepMind团队提出&#xff0c;当时对比的还是GPT4v&am…

理解GPU架构:基础与关键概念

GPU 基础概述&#xff1a;从图形渲染到 AI 与高性能计算的核心 Graphics Processing Units&#xff08;GPU&#xff09;已从专用的图形渲染硬件演进为 AI、科学计算与高性能任务的中坚力量。本文将介绍 GPU 架构的基础知识&#xff0c;包括其组成部分、内存层次结构&#xff0c…

订单状态定时处理(Spring Task 定时任务)

订单状态定时处理 如果最后一秒刚好支付了咋办?如何补偿? 需要将支付状态和订单状态一起考虑,或者直接使用状态机 Spring Task 是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。 **定位:**定时任务框架 **作用:**定时自动执行某段Java代码 …

职得AI简历-免费AI简历生成工具

本文转载自&#xff1a;职得AI简历-免费AI简历生成工具 - Hello123工具导航 ** 一、核心功能解析 职得 AI 简历是 AI 驱动的智能求职平台&#xff0c;通过深度学习算法分析百万优质简历数据&#xff0c;提供从简历生成到面试准备的全流程服务&#xff0c;显著提升求职竞争力。…

8.14 机器学习(1)

机器学习基础一、什么是机器学习定义&#xff1a;让计算机利用大量数据在特定任务上持续改进性能的过程&#xff0c;可以让任务完成的更好。机器学习的领域很多。二、机器学习基本术语数据集、样本、特征&#xff08;属性&#xff09;、属性空间、向量表示、训练集&#xff08;…

给电脑升级内存,自检太慢,以为出错

公司电脑是16G内存&#xff0c;用虚拟机时非常吃力。于是跟领导说&#xff0c;买了32G内存和1T SSD。电脑有两个SATA数据线&#xff0c;SATA电源头只有一个。于是买了几个1转2&#xff0c;顺利接上。把原来的16G拔下&#xff0c;换上32G内存。结果开机没反应。心里就有点嘀咕&a…

Effective C++ 条款43:学习处理模板化基类内的名称

Effective C 条款43&#xff1a;学习处理模板化基类内的名称核心思想&#xff1a;模板化基类&#xff08;templatized base classes&#xff09;中的名称在派生类模板中默认不可见&#xff0c;需要通过this->前缀、using声明或显式基类限定来引入。这是因为编译器在解析模板…

Mybatis简单练习注解sql和配置文件sql+注解形式加载+配置文件加载

项目结构 d:\test\runjar\data\static\data\mybatis_helloworld\Mybatis\ ├── lib\ │ ├── asm-3.3.1.jar │ ├── c3p0-0.9.1.2.jar │ ├── cglib-2.2.2.jar │ ├── commons-logging-1.1.1.jar │ ├── ehcache-core-2.6.8.jar │ ├── javassi…

抗日胜利80周年 | HTML页面

飞翔的和平鸽&#xff1b;屹立的人民英雄纪念碑&#xff1b;倒下的日本国旗&#xff1b;旋转的金色勋章无不代表着我们胜利了&#xff01;&#xff01;&#xff01;HTML源代码&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta cha…

web仿写网站

一、完成自己学习的官网&#xff0c;至少三个不同的页面。1、界面1&#xff08;1&#xff09;代码<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wid…

基于element-plus和IndexedDB数据库的基础表单

本文介绍了基于Vue 3和Element Plus的表单项目配置页面实现。页面包含搜索栏、操作按钮、数据表格和分页组件&#xff0c;使用IndexedDB进行本地数据存储。主要功能包括&#xff1a;1) 通过模糊查询搜索项目&#xff1b;2) 分页显示项目数据&#xff1b;3) 添加/编辑/删除项目操…

paimon实时数据湖教程-主键表更新机制

在上一章&#xff0c;我们学习了 Paimon 如何保证每一次写入的原子性和一致性。但数据仓库的核心需求不仅是写入&#xff0c;更重要的是更新。想象一个场景&#xff1a;我们需要实时更新用户的最新信息&#xff0c;或者实时累加计算用户的消费总额。传统的 Hive 数据湖对此无能…

第十六届蓝桥杯青少组C++省赛[2025.8.9]第二部分编程题(4、矩阵圈层交错旋转)

参考程序&#xff1a;#include <bits/stdc.h> using namespace std;const int MAXN 105; int a[MAXN][MAXN];int main() {int n;if (!(cin >> n)) return 0;for (int i 0; i < n; i)for (int j 0; j < n; j)cin >> a[i][j];int layers n / 2; // 每…

【FastGTP✨】[01] 使用 FastGPT 搭建简易 AI 应用

简易应用&#xff1a;英语单词解释 例句 1. 前言 FastGPT 是一个低代码 AI 应用构建平台&#xff0c;可以通过简单配置快速创建自己的 AI 应用。 本文将带你用 FastGPT 搭建一个 英语单词解释 例句 的 AI 工具&#xff0c;输入英文单词后&#xff0c;输出&#xff1a; 单词…

【Mysql语句练习】

MysqlMysql语句练习一、建库建表二、插入数据三、查询Mysql语句练习 一、建库建表 1、创建数据库mydb11_stu&#xff0c;并使用数据库 # 创建数据库mydb11_stu mysql> create database mydb11_stu; Query OK, 1 row affected (0.00 sec) # 使用数据库 mysql> use mydb1…

用Python Scrapy征服网络爬虫(反爬技术深入剖析)

目录 第1章:Scrapy是个啥?为什么它是你爬虫路上的最佳拍档? 1.1 Scrapy的核心亮点 1.2 啥时候用Scrapy? 1.3 安装Scrapy 第2章:动手写你的第一个Scrapy爬虫 2.1 创建Scrapy项目 2.2 定义数据结构(Items) 2.3 编写爬虫逻辑 2.4 运行爬虫 2.5 小技巧:调试爬虫 …