avatar
Articles
852
Tags
268
Categories
179

Yan 的杂物志_个人主页分享
Search
android的测试工具CTS
Created2010-06-29|2_Note0_Technic3_编程Android应用
android 的测试工具 CTS #移动开发 #Android 1. 什么是 CTS 兼容性测试,手机设备需要通过 Android 的兼容性测试 (CTS),以确保在 android 上开发的程序在手机设备上都能运行,才能使用 android market 2. 下载及安装 git 下载的源码里包含 cts,位置在 $ANDROID/cts 目录下(android2.1 以后版本) 如果没有也可以从此处下载 git://android.git.kernel.org/platform/cts.git(源码 70M 左右) 编译 _ $ build/envsetup.sh $ make cts _ 此时生成测试计划,测试包,测试用例,和测试报告生成的目录 3. 使用 方法1:一般使用的方法 _ $ cts _ _ 注意如果用手机设备调试,用 _ _ root _ _ 权限执行 _ _ cts_host > ls --plan _ _ 列出所有 _ _ plan _ out/host/linux-x86/cts/android-cts/repository/plan ...
android的系统升级方法对比
Created2010-06-23|2_Note0_Technic3_编程Android工具
android 的系统升级方法对比 #移动开发 #Android 1. 说明 一般常用系统升级有两种方式 update.zip 和 fastboot, 下面介绍它们的区别和联系 2. update.zip 使用方法 一般把 update.zip 放在 SD 卡上,按 home+power 重启到烧机模式,通过在菜单中选择之后烧写 编译源码时 update.zip 会生成在 out/target/product/xxxx/ 目录中(只有针对某硬件的才能生成,虚拟机版本没有,因为里面包含内核所在的 boot.img,不针对硬件,不编内核),它是对整个系统的升级 update.zip 可以更新整个系统,或更新系统的一部分,update.zip 通常包含一个 update-script 脚本,用以决定更新 zip 中的哪些部分到系统中,全部更换为更换 system, userdata, boot 个分区的全部内容,部分更新可以更新单个或多个系统中的文件 3. fastboot 使用方法 用数据线连接手机和电脑,按 camera+power 重启到工程模式,然后在 PC 端使用 and ...
android系统支持app2sd(修改boot
Created2010-06-23|2_Note0_Technic3_编程Android系统
android 系统支持 app2sd(修改 boot.img) #移动开发 #Android 1. app2sd 是什么 app2sd 就是把应用程序放在 SD 卡上。有些 android 手机的用户数据分区 (userdata) 比较小(比如 G1 只有 76M),dalvik 和 cache 和用户数据就占了大半,使得安装了几个软件后就没有空间了。为了安装更多软件,在 SD 卡上划出部分空间用于存在新软件和数据,使我们的手机可以使用更多软件。 2. 原理 一般情况下都 SD 卡都默认分成一个 windows 可识别的分区(FAT)。因为有 linux 系统的权限问题,为了让它可以存放软件,需要把 SD 卡的一部分划分成 Linux 的使用的 ext2 文件系统,然后在开机时把此分区挂载到某处,并通过链接的方法,让系统从 SD 卡中读取软件 3. 实现 SD 卡分区 使用 Linux 系统中的工具 fdisk,它是命令行工具,很快很简单 Windows 下的图形化工具 具体步骤见 [http://www.3haoweb.cn/a/digital/mobile/2010/060 ...
制作android的换肤包
Created2010-06-23|2_Note0_Technic3_编程Android应用
制作 android 的换肤包 #移动开发 #Android 1. 如何做换肤包 最简单的方法是替换源码中的资源,然后重新编译 举例:修改系统公共资源——系统字体大小 修改 framework/base/core/res/res/values*/style.xml 其中的 TexAppearance 的 Large,Medium,Small 的 textSize,它们分别对应大中小字的字号 修改后,在 res 目录中重新编译 (使用 mm 命令),然后将生成的 framework-res.apk 拷到手机的 /system/framework 目录中 注意:源码中的资源必须和设备中资源相对应,因在生成 framework-res.apk 的过程中生成了资源 ID 号,而各应用通过资源 ID 号读取系统资源,所以如果 ID 号不一致,整个系统的资源就乱了 有时候我们只想换包中的某个图片,不想重编整个包,或者从网上下载的应用程序,得不到源码不能重编,但也想对其换肤。 由于 apk 是 zip 格式的压缩包,最简单的方法是解包,替换图片,然后再打包 _ $ mkdir tmp; ...
AndroidDensity
Created2010-06-18|2_Note0_Technic3_编程Android系统
Android Density 1. 什么是 density density density 表示每英寸有多少个显示点 (逻辑值),它的单位是 dpi:dot per inch,通常屏幕大时, density 就大,屏幕小时,density 就小,通常 屏幕实际分辨率为 240px400px 时,density=120 屏幕实际分辨率为 320px533px,density=160 屏幕实际分辨率为 480px*800px,density=240 分辨率 是整个屏是多少点,比如 800x480,它是软件的显示单位 从 Android1.6 版本开始支持 density(对应 API Level 4) 用于解决应用在屏幕大小不同的硬件上正常显示的问题 2. 相关代码及设置 AndroidManifest.xml 这个参数在 API Level 4 也就是 SDK 1.6 以后才启用的,而且 1.6 版本的 API Level 4 的应用默认值就是 True 资源目录名(android 2.0 以后) res/xxx-hdpi 当 density 为 240 时,使用此目录下 ...
android代码中运行二进制程序或脚本
Created2010-06-18|2_Note0_Technic3_编程Android应用
android 代码中运行二进制程序或脚本 #移动开发 #Android 1. 知识点 在程序中执行 shell 脚本或程序(线程中执行),并显示进度条 2. 示例 功能 实现在程序中运行命令”sleep 3”,在线程中进行,并显示进度条 代码 _ …… String commands = "sleep 3"; sendshell(commands); …… public void sendshell(final String commands) { String mymsg = "run " + commands; patience = ProgressDialog.show(this, "please wait", mymsg, true); Thread t = new Thread() { public void run() { try { Process process = Runtime.getRuntime().exec(commands); process.waitFor(); } catch (Exception e) { e.printStackTrace(); ...
android的换肤(theme)
Created2010-06-12|2_Note0_Technic3_编程Android工具
android 的换肤 #移动开发 #Android/theme 1. 相关概念 1) 换肤 变换应用的背景,控件样式,应用图标及应用内部版式等与风格相关的界面元素 2) 资源 资源由字串,图片,版式等元素组成,通常存放在 res 目录中,apk 打包时利用 aapt 工具 (实现见 frameworks/base/tools/aapt) 对资源进行解析,并生成 apk 文件。 打包时资源分成两个部分,一部分完全写入 resources.arsc 文件(如 values*),另一部分的索引信息写入 resources.arsc,而自身内容也做相应变化(如:将 9patch 的 png 图其中的 9patch 信息从图片中可见变为记录在文件内部) 3) 相关文件 公用资源存放在 /system/framework/framework-res.apk 包中,应用资源存放在各个应用的 apk 包中(含应用图标,内部图片及布局),有的 android 产品可在设置中换背景图 4) 换肤思路 apk 是以 zip 压缩格式打包的文件,把它解开,然后把其中的图片换成新图片,再打包,替换原系统中的 ...
开发android的桌面小程序AppWidget
Created2010-06-02|2_Note0_Technic3_编程Android应用
开发 android 的桌面小程序 AppWidget #移动开发 #Android 1. 什么是 AppWidget Android 系统允许某个应用把它自己的控件嵌入到其它的应用之中,这些被嵌入的控件就是”widget”,发布控件的应用是 ”:appwidget providers”,而合成控件并显示的应用是”AppWidget host”. widget 常被译作小应用,小控件,小部件。最常见的 widget 是显示在桌面上时钟,日历,搜索,相框,音乐等,使用户不用进入应用,就可以方便地使用某种功能。桌面也是一个应用程序( packages/apps/Launcher),代码中实现了”AppWidget host”,而时钟,日历是分别实现了不同功能的 ”appwidget provider”(packages/apps/Calendar) 2. 建立第一个 AppWidget 长篇大论不如立竿见影地看到效果,用以下方法,建立你的第一个 widget _ $ cd $ANDROID_SRC/development $ cp $ANDROID_SRC/frameworks/base/ ...
浅析dalvik虚拟机JIT技术的实现
Created2010-06-01|2_Note0_Technic3_编程Android系统
浅析 dalvik 虚拟机 JIT 技术的实现 #移动开发 #Android 一、说明 据说 Android 2.2 的虚拟机 dalvik 使用了 JIT 技术,使其运行 速度快了 5 倍。dalvik 解释并执行程序,JIT 技术主要是对多次运行的代码进行编译,当再次调用时使用编译之后的机器码,而不是每次都解释,以节约时间。5 倍是测试程序测出的值,并不是说程序运行速度也能达到 5 倍,这是因为测试程序有很多的重复调用和循环,而一般程序主要是顺序执行的,而且它是一边运行,一边编译,一开始的时候提速不多,所以真正运行程序速度提高不是特别明显。 二、JAVA 虚拟机主要的优化技术 1. JIT(Just In Time) 最开始指在执行前编译,但是到现在已经发展成为,一开始解释执行,只有被多次调用的程序段才被编译,编译后存放在内存中,下次直接执行编译后的机器码 method 方式:以函数或方法为单位进行编译 trace 方式:以 trace 为单位进行编译(可以把循环中的内容作为单位编译),此方法也包含 method 2. AOT(Ahead Of Time) 在程序下载到本地时就 ...
JDWP命令行调试
Created2010-05-27|2_Note0_Technic3_编程Android应用
JDWP 命令行调试 1. JDWP 调试 JDWP 用于在 java 程序层面的调试,当然也可以在 eclipse 中使用,或利用 ddms 调试 在某一终端运行虚拟机 1234$ adb forward tcp:8000 tcp:8000 $ adb shell $ dalvikvm -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y-cp /sdcard/foo.jar Foo _ 此时挂起等待调试 在另一终端开启调试 12$ jdb -attach localhost:8000 [jdb _ _ 提示符 _ _ ] run 此时程序继续运行 jdb 常用命令 12345[jdb 提示符 ] threads 看当前所有线程 [jdb 提示符 ] trace methods 0x12aac5a00 跟踪线程号为 0x12aac5a00 的线程 ( 线程号从threads 得到 ) [jdb 提示符 ] next/step 下一步 [j ...
1…818283…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
角色扮演 代码模型 社交 运动 社会文化 生物医学 历史 Linux 阅读哲学 数据存储/ES 数据存储/PGSQL 心理建设 反思 笔记/Obsidian 模型工具 股票预测 阅读/心理学 模型解释 自我构建 叙事治疗 关系维护 笔记工具 机器学习 人生哲学 大型语言模型 编程语言 Python/图形图像 效率 情感分析 机器学习/XGBoost 技巧 编程 读书 技术 GitHub Actions 移动开发 禅宗 深度学习/图形图像 驱动 知识库
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