avatar
Articles
852
Tags
268
Categories
179

Yan 的杂物志_个人主页分享
Search
调试lib库的一些小技巧
Created2010-12-17|2_Note0_Technic3_编程其它编程
调试 lib 库的一些小技巧 #编程语言/JNI #编程语言/C 1. lib 库中打印 log 信息 在文件头部加 1234567** #define LOG_TAG “testme” #undef LOG // ** ** 有的版本需要这句,有的版本不需要 ** ** #include <utils/Log.h> ** 在程序中用 ** LOGE(“log is xxxxx”); ** 在编 lib 库的 Android.mk 中加 ** LOCAL_SHARED_LIBRARIES:=libutils ** 2. lib 库中 jni 用 c++ 在每个函数前头加,以免提示找不到函数名 123** #ifdef __cplusplus extern “C” #endif **
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/*
1…777879…86
avatar
Yan.xie
顺流而下还是逆流而上?
Articles
852
Tags
268
Categories
179
Follow Me
Announcement
This is my Blog
Recent Post
基金交易量预测比赛_5_背景知识22025-08-08
两阶段股票价格预测研究2025-08-08
TradingAgents项目源码解析2025-08-08
基金交易量预测比赛_1_我的方案2025-08-07
基金交易量预测比赛_3_反思2025-08-07
Categories
  • 0_IMO84
    • 工作1
    • 方法1
      • 工作1
    • 说给一个人听82
      • 01_自我建构32
        • 实修3
        • 思考与觉悟16
Tags
日常技能 聊天 神经网络 对谈 阅读/社会学 心理 人生哲学 情感 社会学 运动 感知 舞台感 编程语言/C 深度学习/工具 历史 视频生成 认知建构 特征工程 机器学习/算法 编程 情感分析 Python/少儿编程 讽刺 云服务器 世界观 多代理系统 基金 教育 社会 云计算 基金交易 API 语音 语音合成 知识图/知识表示 健康 情绪机制 灵感创意 数据存储/PGSQL 翻译
Archives
  • August 202510
  • July 202540
  • June 202538
  • May 202529
  • April 202516
  • March 20258
  • February 20252
  • January 20256
Info
Article :
852
Total Count :
1188.5k
UV :
PV :
Last Push :
©2020 - 2025 By Yan.xie
Framework Hexo|Theme Butterfly
京公网安备11010802043346号
京ICP备2023029600号-1
Search
Loading the Database