avatar
Articles
851
Tags
236
Categories
189

Yan 的杂物志_个人主页分享
Search
androidfota升级
Created2010-12-17|2_Note0_Technic3_编程Android工具
android fota 升级 1. 简介 fota(Firmware Over The Air),移动终端空中下载软件升级技术。 原理是根据算法把新旧版本之间的差别做成一个软件包,手机从服务器上下载到手机里,由手机完成软件版本的升级 2. 用户操作 设置-> 关于手机-> 检查更新,检查是否有更新版本。 可以使用默认设置自动更新:设置-> 关于手机-> 自动系统检查 3. 升级过程 MT710 的 FOTA 由中国移动服务器发起,服务器发送 FOTA 信息到手机,手机收到信息并确认后,手机将自动上网下载升级包,下载后,手机将重启完成软件的更新。用户需要按照手机的提示,确认下载和 安装 即可,不需要其他操作,也不需要对手机进行特殊设置。下载中断时手机会自动续接,直到下载完毕。在手机 FOTA 过程中,需要保持手机在网络良好的连接状态,电池电量充足。 4. Fota 的相关源码 升级界面 package/app/Fota/* 系统层 system/core/fota/* 底层库支持 external/fotalib/* fota 分区 因为像 boot.im ...
典型应用之——将库打进apk
Created2010-12-17|2_Note0_Technic3_编程Android工具
典型应用之——将库打进 apk 1. 介绍 应用程序时常需要调用 C 库,并通过 apk 包安装到系统当中。我们可以通过 NDK 来安装库,如果你有源代码开发环境,可以通过 Android.mk 脚本很简单地将 java 程序和 c 库放在一个项目中编译和安装。 2. 原理 利用在 Android.mk 中加 LOCAL_JNI_SHARED_LIBRARIES 指定安装库 3. 例程 功能 将加法用 c 语言实现,并编成 so 库,在 Java 层通过 JNI 方式调用它,并将界面和库打成一个 apk 包安装 可从此处下载可独立运行的代码 [http://download.csdn.net/source/2841528 ](http://download.csdn.net/source/2841528) 核心代码及说明 java 程序 123456789101112131415161718192021222324package com.android.mylib; import android.app.Activity; import android.os.Bun ...
典型应用之——将数据打进apk
Created2010-12-17|2_Note0_Technic3_编程Android工具
典型应用之——将数据打进 apk 1. 介绍 需要安装一些资源到系统中,比如多媒体文件,配置文件或者某种数据文件,可以把它打包放在资源 raw 目录中,然后在程序中读取解包,并安装在指定目录下 2. android 框架对多媒体的支持 apk 包中的数据一般都放在 res/raw 目录下,只有它的拥有者能通过 openRawResourceFd 的方式访问,如果不在 java 层访问,或者要将其安装在其它位置,就需要在 java 程序中对其进行处理 3. 例程 功能 把多媒体及数据文件打在 zip 包放在 res/raw 下,并将其打在安装包 apk 中,在程序中点击按钮时将其安装在指定目录下 可从此处下载可独立运行的代码 [http://download.csdn.net/source/2841538 ](http://download.csdn.net/source/2841538) 核心代码及说明 ** package com.android.mydata; import android.app.Activity; import android.os.Bundle; im ...
androidflash分区(nandflash)
Created2010-12-17|2_Note0_Technic3_编程Android系统
android flash 分区 (nand flash) 1. 查看当前系统的分区情况 12$ adb shell $ cat /proc/mtd 2. 分区对应的 img(源码编译后生成在 out/target/product/xxx/ 目录下) modem(多个,支持电话和 GPS) amss.mbn bootloader(启动用) appsboot.mbn 空中升级 fota*(升级用, 可能多个) 内核和文件系统 boot.img(内核和基本文件系统) 系统分区 system.img(系统分区) 用户数据分区 userdata.img(数据分区) 3. 参考 bootloader 启动顺序 http://blog.csdn.net/yili_xie/archive/2010/05/14/5592276.aspx
android应用的启动过程
Created2010-12-17|2_Note0_Technic3_编程Android系统
android 应用的启动过程 #移动开发 #Android 1. 说明 应用的启动过程通常是通过 startActivity 函数,无论是在应用中调其它应用还是在桌面(桌面是 Launcher 应用)上点击,最终都将通过这个函数启动进程或者界面,下面以分析代码的方式,介绍它具体的工作过程 2. 过程 Launcher/src/com/android/launcher.java 在应用或桌面上启动应用,例如桌面应用的启动由于中调用了 startActivity() 函数 frameworks/base/core/java/android/app/Activity.java:startActivity() Activity.java 继承了 Context.java,并实现了它的 startActivity(),它向下调用了 execStartActivity() frameworks/base/core/java/android/app/Instrumentation.java:execStartActivity() execStartActivity 利用 Intent ...
android权限的实现
Created2010-12-17|2_Note0_Technic3_编程Android系统
android 权限的实现 #移动开发 #Android 1. 权限 每个程序在安装时都有建立一个系统 ID,如 app_15,用以保护数据不被其它应用获取。Android 根据不同的用户和组,分配不同权限,比如访问 SD 卡,访问网络等等。底层映射为 Linux 权限。 2. 应用申请权限 应用开发者通过 AndroidManifest.xml 中 指定对应权限,再映射到底层的用户和组,默认情况下不设定特殊的权限。AndroidManifest 加入权限后系统安装程序时会在图形界面中提示权限 如果是缺少某个权限(程序中使用的某种权限而在 AndroidManifest.xml 中并未声名),程序运行时会在 logcat 中打印出错误信息 requires 与某个进程使用相同的用户 ID 应用程序可与系统中已存在的用户使用同一权限,需要在 AndroidManifest.xml 中设置 sharedUserId,如 android:sharedUserId="android.uid.shared",作用是获得系统权限,但是这样的程序属性只能在 build 整个系统时放进 ...
android适配硬件平台
Created2010-12-17|2_Note0_Technic3_编程Android系统
android 适配硬件平台 1. 相关硬件 电池,RTC,键值(普通键值,DOCKING 键值),LED 灯,背光,传感器(亮度,距离,速度,指南针等),振动,蓝牙,相机,音视频引擎,网络,显示,电话 2. 硬件相关的主要目录 kernel,vendor,device,hardware,bootable 3. 以 HTC G1 为例分析其主要的平台配置目录 device/htc/dream/* (froyo 源码) 注意:froyo 以前版本在 vendor/htc 中,需要单独下载,现在都已经在 git 里包含了 g1,g2 的支持。 说明 (参见 g1,g2) AndroidProducts.mk 说明产品都需要编什么东西,定义产品使用哪个 mk 文件 vendorsetup.sh 加上某硬件的支持,以便编译前用 lunch 选择 full_dream.mk 定义产品所要编译的项目,指定需要编译哪些应用,产品名称,设备,型号(重要) BoardConfig.mk 含 mtd 设备的分区,硬件相关的模块,及编译工具 AndroidBoard.mk 编译 kernel, boo ...
android对文件的MD5验证
Created2010-12-17|2_Note0_Technic3_编程Android应用
android 对文件的 MD5 验证 1. 说明 android 自带的 MD5 校验类 2. 例程 功能 对文件 /init.rc 做 MD5 计算,并以字串的方式显示 可从此处下载可独立运行的代码 [http://download.csdn.net/source/2660824 ](http://download.csdn.net/source/2660824) 使用 linux 命令得到 MD5 值 ** $ md5sum init.rc ** 核心代码及说明 ** import java.security.MessageDigest; import java.io.FileInputStream; import java.io.InputStream; public class MD5 { private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; public static vo ...
android的KeyGuard
Created2010-12-17|2_Note0_Technic3_编程Android应用
android 的 KeyGuard #移动开发 #Android 1. 什么是 keyguard keyguard 译为键盘守卫, 用于保护手机, 包含锁屏, 图案解锁等 2. 核心代码 frameworks/policies/base/phone/com/android/internal/policy/impl/*
android调试技术补充
Created2010-12-17|2_Note0_Technic3_编程Android应用
android 调试技术补充 1. 看编译信息 显示编译打包命令的具体参数,以下命令看编译详情 ** $ make showcommands ** 2. 源码中重编应用软件 ** $ cd packages/apps/xxx $ touch find ** ** 更新全部代码 ** ** $ mm ** 注意:mm clean 是 clean 所有源码,不止本目录之后的,千万注意不要误操作 3. 查看当前的 dump 信息 ** $ adb shell dumpstate > xxx.msg ** 4. SDK 与手机版本不一致问题的解决 注意要用与硬件对应的 eclipse 插件和 sdk,否则可能会报很多奇怪的错误。 如果在源码中编译,而被安装的手机与源码不在是同一版本,可能出现如下问题 adb install 时报错 Failure [INSTALL_FAILED_OLDER_SDK] 此时只需改动 AndroidManifest.xml,加入最低版本号 ** ** 3 对应 SDK1.5 注意:如果是不同版本 API 接口不一致引起的问题,此方法不能解决 5. 获取当前 ...
1…777879…86
avatar
Yan.xie
顺流而下还是逆流而上?
Articles
851
Tags
236
Categories
189
Follow Me
Announcement
This is my Blog
Recent Post
LLM+知识库_总结篇2026-04-10
LLM_知识库_02_记忆宫殿2026-04-10
LLM_知识库_03_LLM_Wiki2026-04-10
模仿欲望_读后感2026-04-07
OpenAI的CUA_ComputerUseAgent2026-04-07
Categories
  • 0_IMO2
    • 工作1
    • 方法1
      • 工作1
  • 1_Data11
    • 生活9
      • 主食3
      • 菜3
Tags
浏览器插件 编程语言/C 模型工具 数据存储/Hadoop 情绪分析 语言模型 辅助编程 模型解释 阅读/社会学 目标管理 阅读 工具 技巧 VPN 项目管理 知识库 经济 远程桌面 工作思考 金融 AI绘画 异常检测 卡片 开源许可 markdown 健康 网络服务 主题笔记 音视频处理 嵌入表示 开发 日常技能 Paper 反思 区块链 软件版权 美食 视频编辑 云计算 #论文阅读
Archives
  • April 202616
  • March 20265
  • February 202637
  • January 20262
  • December 20252
  • November 202511
  • October 20258
  • September 20254
Info
Article :
851
Total Count :
1084.3k
UV :
PV :
Last Push :
©2020 - 2026 By Yan.xie
Framework Hexo|Theme Butterfly
京公网安备11010802043346号
京ICP备2023029600号-1
Search
Loading the Database