avatar
Articles
806
Tags
240
Categories
164

Yan 的杂物志_个人主页分享
Search
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 ...
各个层面的android小例程
Created2010-05-27|2_Note0_Technic3_编程Android应用
各个层面的 android 小例程 1. 说明 在问题定位时,通常使用一些非常简单的程序来测试,以简化逻辑。下面介绍 android 各个层面的测试的编写:普通的 java 程序,加入 android 类的 java 程序,带 android 界面的 java 程序和运行在 android 平台上的 c/c++ 程序 2. 配置环境 123$ cd $ANDROID_SRC_ $ . build/envsetup.sh $ cd development 3. 普通 java 程序 建立 Foo.java,内容如下 1234class Foo { public static void main(String[] args) {System.out.println(“Hello, world”);} } 编译 12$ javac Foo.java $ dx --dex --output=foo.jar Foo.class # _ _ 把一个或多个 class 编成一个 jar 运行 12$ adb push foo ...
android的调试工具集
Created2010-05-26|2_Note0_Technic3_编程Android应用
android 的调试工具集 #移动开发 #Android 1. 查看当前堆栈 功能:在程序中加入代码,使可以在 logcat 中看到打印出的当前函数调用关系 方法: 1new Exception(“print trace”).printStackTrace(); 2. MethodTracing 功能:用于热点分析和性能优化,分析每个函数占用的 CPU 时间,调用次数,函数调用关系等 方法: 在程序代码中加入追踪开关 123456import android.os.Debug; …… android.os.Debug.startMethodTracing(“/data/tmp/test”); // _ _ 先建 _ _/data/tmp _ _ 目录 _ _ …… // _ _ 被追踪的程序段 _ _ android.os.Debug.stopMethodTracing(); _ 编译,运行后,设备端生成 /data/tmp/test.trace 文件 把 trace 文件复制到 PC 端 1$ adb pull /data/tmp/test.t ...
android程序问题及解决方法
Created2010-05-19|2_Note0_Technic3_编程Android应用
android 程序问题及解决方法 #移动开发 #Android 1. 编译报错,找不到R相关资源 在源码目录下新建一个应用,或者复制其它应用时,常出现这个错误。 什么是 R.java R.java 中编译时自动生成的,工程用到所有的资源,都会用到 R.java 何时生成 在源码根目录下 make 全部代码时,才会对每个模块生成 R.java 对资源更改后也会重新成生 R.java 生成在哪里 out/target/common/obj/APPS/ 程序名 /…../R.java (用 find 找一下) 解决方法 只要把相关的 R.java 都删掉 再更新资源 (res 目录) 中一个资源文件(xml),使得 R.java 重新生成 重新 mm 2. 查看当前堆栈调用关系 12345$ rm /data/anr/traces.txt _ _ 清除之前 _ _ log _ _ 信息,因为 _ _ log _ _信息是追加到此文件中的 _ _ $ ps _ _ 找应用对应进程号 _ _ $ kill -3 _ _ 进程号 _ _ _ _ 该进程当前的堆栈调用写 ...
运行dalvik测试程序
Created2010-05-18|2_Note0_Technic3_编程Android系统
运行 dalvik 测试程序 1. 说明 一般在 android 平台上的程序都运行在应用框架之中,它也可以直接运行,以下介绍最简单的运行和调试方法。 2. 运行 dalvik 自带的 test 程序 配置 ANDROID 系统环境 _ $ cd $ANDROID_SRC $. build/envsetup.sh _ 编辑桌面环境脚本 test_env.sh(否则 run-test 程序运行时报错) 内容如下: _ #!/bin/sh base=pwd root=\(base/out/debug/host/linux-x86/product/sim/system export ANDROID_ROOT=\)root bootpath=$root/framework export BOOTCLASSPATH=\(bootpath/core.jar:\)bootpath/ext.jar:\(bootpath/framework.jar:\)bootpath/android.policy.jar:\(bootpath/services.jar export ANDROID_DATA=/t ...
常用的android软件列表(apk包)
Created2010-05-10|2_Note0_Technic3_编程Android工具
常用的 android 软件列表(apk 包) 1. 常用的 android 软件列表(apk 包) 手写输入法 [http://www.kuruan.net/soft/zikushuru/2009-08-25/1745.html ](http://www.kuruan.net/soft/zikushuru/2009-08-25/1745.html) 拼音输入法 [http://www.kuruan.net/soft/zikushuru/2009-06-28/309.html ](http://www.kuruan.net/soft/zikushuru/2009-06-28/309.html) Office 办公套件 [http://www.kuruan.net/soft/bangongshangwu/2009-10-21/3111.html ](http://www.kuruan.net/soft/bangongshangwu/2009-10-21/3111.html) 金山词霸 [http://www.kuruan.net/soft/dushuxuexi/2010-0 ...
编译android2
Created2010-05-10|2_Note0_Technic3_编程Android工具
编译 android 2.1 (eclair) 源码 For HTC G1 1. 说明 下载编译最基本的 android 源码,无法在真机上使用(不能生成 boot.img ),只能在模拟器上使用。这是因为没有编译相关机型的内核和硬件驱动。以下介绍的是用 android 源码编译出对应 HTC G1 的版本,和烧写的过程。编译生成的版本除相机不能用之外,其它绝大部分功能都能正常使用,在 G1 上运行 2.1 版的速度也不错。 本文主要参考日文文档 G1/G2 烧机指南,感谢原文作者,原文地址: [_ http://code.google.com/p/android-development- environment/wiki/EclaironADP1andADP2 _](http://code.google.com/p/android- development-environment/wiki/EclaironADP1andADP2) 同时加入中文系统的支持和 JIT 支持(提高速度),以及相关文字解释。 以下步骤都经过验证(只验证 G1 手机,G2 部分请参见日文文档),实验 ...
1…777879…81
avatar
Yan.xie
顺流而下还是逆流而上?
Articles
806
Tags
240
Categories
164
Follow Me
Announcement
This is my Blog
Recent Post
250523_对谈_用叙事打磨世界观2025-05-23
250512_对谈_股票操作中的概率与心理2025-05-21
250520_对谈_最近发展区理论与实践2025-05-21
论文阅读_现实的叙事构建2025-05-21
2505xx_对谈_家长的角色22025-05-20
Categories
  • 0_IMO54
    • 工作1
    • 说给一个人听53
      • 01_自我建构21
        • 思考与觉悟11
        • 行动与进化10
      • 02_情绪心理12
      • 03_关系互动9
Tags
哲学 Python/图形图像 随笔 自我表达 开源许可 法律 笔记 工作思考 视频编辑 开源社区 权力结构 认知提升 Arduino 性能 深度学习/知识蒸馏 社会评价 目标管理 自然语言处理/工具 机器学习/自动建模 股票预测 情绪表达 大型语言模型 关系反转 AI绘画 云计算 禅宗 音频处理 生活 Python 职场 数据库 SSH 协议 Django 数学 android 饮食 思维整理 对谈 阅读/育儿
Archives
  • May 202565
  • April 202516
  • March 202512
  • February 20252
  • January 20256
  • December 20242
  • November 20246
  • October 20244
Info
Article :
806
Total Count :
1095.3k
UV :
45569
PV :
47546
Last Push :
11 hours ago
©2020 - 2025 By Yan.xie
Framework Hexo|Theme Butterfly
京公网安备11010802043346号
京ICP备2023029600号-1
Search
Loading the Database