android系统f分析,ANDROID系统目录分析

本文详细解析了Android系统升级历程,介绍了系统目录结构,包括system/app应用存放、system/bin本地程序、system/etc配置文件等,还涵盖了Android开发方向定位,重点讲解了App、OS和驱动开发层面。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android版本升级历史及改变

92b968eb35e8

image.png

Android手机系统环境介绍——系统目录

\system\app

这个里面主要存放的是常规下载的应用程序,程序为系统默认的组件,可以看到都是以APK格式结尾的文件

92b968eb35e8

image.png

\system\bin

这个目录下的文件都是系统的本地程序,里面主要是Linux系统自带的组件(命令)

92b968eb35e8

image.png

\system\etc

该文件夹保存的都是系统的配置文件,比如APN(移动名称:cmnet 联通名称:3gnet)接入点设置等核心配置。

92b968eb35e8

image.png

\system\framework

framework主要是一些核心的文件,从后缀名为jar可以看出是是系统平台框架

92b968eb35e8

image.png

\system\lib

lib目录中存放的主要是系统底层库,一些so文件,如平台运行时库。

92b968eb35e8

image.png

\system\media

\system\media\audio

铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音

92b968eb35e8

image.png

/data/app 存放用户安装的软件

92b968eb35e8

image.png

9 ./data/data

存放所有软件(包括/system/app 和 /data/app 和 /mnt/中装的软件)的一些lib和xml文件等数据信息;

92b968eb35e8

image.png

/data/dalvik-cache

存放程序的缓存文件,这里的文件都是可以删除的。

92b968eb35e8

image.png

Android ADB工作原理

应该自定义通信端口6100——7100

92b968eb35e8

image.png

92b968eb35e8

image.png

ADB连不上解决办法

方案一:

1、手机U口连接PC后,观察驱动是否安装成功(itools连接)

2、进入手机设置->其他高级设置->开发者选项

tips:首次启动开发者选项,需要点击关于手机->版本号5次

3、进入开发者选项,打开开发者选项和USB调试(adb shell连接成功)

方案二:

1、进入cmd 输入adb kill-server

2、进入cmd 输入adb start-server

3、任务管理器关掉所有手机助手软件(itools、360手机助手、adb进程kill掉重启)

方案三:

adb nodaemon server 查看绑定端口

netstat -ano | findstr "5037" 查看是谁占用了端口

任务管理器通过pid找到对应的程序,干掉就好了,或者卸载占用服务

92b968eb35e8

image.png

92b968eb35e8

image.png

Android系统架构介绍

Android开发方向定位

1、app主要研究,Application和Framwork层

2、OS开发主要研究 Libraris层和AndroidRuntime

3、驱动开发主要研究 Linux Kernel

92b968eb35e8

image.png

### PyTorch 中 `torch.nn.utils.weight_norm` 的弃用情况 在 PyTorch 的开发历程中,某些功能可能会被标记为过时并最终移除。关于 `torch.nn.utils.weight_norm` 的具体弃用版本信息,在官方文档和社区讨论中并未明确指出其完全废弃的时间点[^1]。然而,可以确认的是,自 PyTorch 1.7 版本起,`weight_norm` 功能已被推荐使用更灵活的替代方案——通过 `nn.Parameter` 或者其他模块化设计来实现权重标准化的效果。 #### 替代方案 对于需要实现类似 `weight_norm` 功能的需求,开发者通常会采用以下几种方式: 1. **手动实现权重规范化** 可以通过定义新的参数并将原始权重分解为其大小和方向部分来模拟 `weight_norm` 的行为。例如: ```python import torch import torch.nn as nn class WeightNormLinear(nn.Module): def __init__(self, in_features, out_features): super(WeightNormLinear, self).__init__() self.weight_v = nn.Parameter(torch.randn(out_features, in_features)) self.weight_g = nn.Parameter(torch.ones(out_features)) self.bias = nn.Parameter(torch.zeros(out_features)) def forward(self, x): weight_normalized = self.weight_g.unsqueeze(-1) * (self.weight_v / torch.norm(self.weight_v, dim=-1, keepdim=True)) return torch.matmul(x, weight_normalized.t()) + self.bias ``` 2. **利用 Spectral Normalization** 如果目标是为了控制模型的 Lipschitz 常数,可以考虑使用谱归一化(Spectral Normalization),它可以通过 `torch.nn.utils.spectral_norm` 实现类似的约束效果[^4]。 3. **基于最新 API 进行重构** 自 PyTorch 高级优化器引入以来,许多旧的功能逐渐被淘汰。因此建议重新评估需求,并尝试借助更高层次的设计模式完成相同的目标。 需要注意的是,尽管目前尚未有确切记录表明某个特定版本正式删除了该函数,但在实际项目维护过程中应尽量避免依赖已标注为 deprecated 的特性[^5]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值