当前位置:首页 » 安卓系统 » android的aapt

android的aapt

发布时间: 2022-08-27 15:31:47

① android什么是appt

aapt,即Android Asset Packaging Tool,是一个工具,来管理资源文件的。

② 如何修改android aapt工具源码

在Android界面的系统status bar上添加home,back,menu三个菜单,并完成对应的系统功能。并有higlight效果,修改status bar 高度和status bar上的文字尺寸。 这需要修改android sdk才能完成,我用的是eclair.下面就我的操作进行叙述。 1.首先完成界面显示效果。 需要修改文件 ./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java,仿照mBatteryIcon等icon的添加方式添加自定义的icon,图片名称指定就好了。另外还要记得修改./frameworks/base/core/res/res/values/arrays.xml,这里定义了icon的slot,并且决定了icon的摆放顺序。 这样,你需要的icon按键就可以显示在系统的status bar上面了。 2.判断touch event是否按动了某个icon 需要修改的文件 ./frameworks/base/services/java/com/android/server/status/StatusBarView.java 首先在onTouchEvent函数中,获取当前event的坐标,然后比较是否在某个按键范围之内。由于系统对于statusBar的范围已经有了定义,所以这里只需要比较横坐标就可以了。 其次,也是这一步最关键的,怎么获取具体某一个icon的左右边界坐标呢?系统的status bar左边显示的图标都是notification, 右边显示的是系统icon. 也就是说左边icon属于mNotificationIcons,右边的icon属于mStatusIcons. 在文件StatusBarView.java中出现的offset = getViewOffset(mStatusIcons),得到mStatusIcons的最左边的icon的left横坐标。用N = mStatusIcons.getChildCount()得到共有几个系统icon,其中包含visibility为false的icons.用mStatusIcons.getChildAt(N-i)得到的是从右边数第i个的icon view. 这个view的getLeft()+offset就是这第i个icon的左边横坐标,对应的getRight()+offset就是这第i个icon的右边横坐标。本例中home键是右边第2个icon. 3.定义icon响应事件 这里使用的方法是在StatusBarView.java中向 ./frameworks/base/services/java/com/android/server/status/StatusBarPolicy.java发送一个Broadcast,让StatusBarPolicy来完成具体的事件操作。这里需要注意的是不仅要在./frameworks/base/core/java/android/content/Intent.java中定义intent,还要在StatusBarPolicy的构造函数中添加该intent的过滤动作,即filter.addAction(Intent.ACTION_BACKICON_CHANGED).例如,按动了back键,如果当前事件为action_up,就向系统发送一个keyEvent,keyCode为KeyEvent.KEYCODE_BACK. 这里借用的是./frameworks/base/cmds/input/src/com/android/commands/input/Input.java中的sendKeyEvent函数,直接拷贝过来,按照需要稍微修改一下形参就可以了,过程不要修改。 需要说明的是,当点击statusBar可以拉出来一个notification列表,当这个列表显示出来的时候,这三个back, menu, home键的响应速度会非常慢,所以这时不响应事件并隐藏这三个键。具体做法是在StatusBarView的onTouchEvent()中判断mService.mExpanded或者 mService.mTracking为真时就不做响应。mService是StatusBarService对象。隐藏三个键也是用Broadcast来做的,但这个intent是由StatusBarServie发出来的,当mExpandedVisible = false时显示,当mExpandedVisible = true时隐藏。 这里还同时完成了highlight换图的动作,也是用Broadcast来做得,处理过程一样,就是需要区分action_down和action_up就可以了。 4.调整status bar的高度 如果你需要显示较大的屏幕尺寸,同时statusBar的高度要拉大,上面的icon的size也需要调大。为了协调一致,显示时间的字体和notification显示的日期的字体也需要调大。具体做法如下: a.调节status bar icon的size: 只调节status_bar.xml的textSize标签似乎不起作用,同时又修改了./base/services/java/com/android/server/status/StatusBarIcon.java的t.setTextSize(32);语句才成功。不知道修改status_bar.xml的<com.android.server.status.AnimatedImageView>标签下的layout_height值是不是必须的,反正我是一起都给改了。 b.调节status bar height: ./base/core/res/res/values/dimens.xml 找得我好辛苦!不知道还需不需要修改./base/core/res/res/values/themes.xml中的Window attributes的windowTitleSize值,反正我也给改了。 c.调节notification显示日期字体的大小,修改status_bar.xml的<com.android.server.status.DateView>的textSize值。 到这里,就完成了,看看效果吧。

③ android aapt 打包是什么意思这个过程的目的是什么。

意思:在一个APK文件中,除了有代码文件之外,还有很多资源文件。这些资源文件是通过Android资源打包工具aapt(Android Asset Package Tool)打包到APK文件里面的。在打包之前,大部分文本格式的XML资源文件还会被编译成二进制格式的XML资源文件。
目的:将XML资源文件从文本格式编译成二进制格式解决了空间占用以及解析效率的问题和根据资源ID来快速找到对应的资源。

④ AAPT代表什么意思

aapt即Android Asset Packaging Tool , 在SDK的tools/目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件.尽管你可能没有直接使用过aapt工具, 但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序.

⑤ 用android killer 编译出现 AAPT.exe已关闭怎么解决,哪位朋友知道 ,给解答下。。。。

你重新下载最新版本的apktool,用现在2.4.1版本的都可以。

⑥ Android中aapt工具通过什么机制/算法生成R.java

资源ID是一个4字节的无符号整数,其中,最高字节表示Package ID,次高字节表示Type ID,最低两字节表示Entry ID。
Package ID相当于是一个命名空间,限定资源的来源。Android系统当前定义了两个资源命令空间,其中一个系统资源命令空间,它的Package ID等于0x01,另外一个是应用程序资源命令空间,它的Package ID等于0x7f。所有位于[0x01, 0x7f]之间的Package ID都是合法的,而在这个范围之外的都是非法的Package ID。前面提到的系统资源包package-export.apk的Package ID就等于0x01,而我们在应用程序中定义的资源的Package ID的值都等于0x7f,这一点可以通过生成的R.java文件来验证。
Type ID是指资源的类型ID。资源的类型有animator、anim、color、drawable、layout、menu、raw、string和xml等等若干种,每一种都会被赋予一个ID。
Entry ID是指每一个资源在其所属的资源类型中所出现的次序。注意,不同类型的资源的Entry ID有可能是相同的,但是由于它们的类型不同,我们仍然可以通过其资源ID来区别开来。

热点内容
nvm存储 发布:2025-01-13 15:36:19 浏览:552
京东架构师缓存经验 发布:2025-01-13 15:33:00 浏览:726
android图片颜色 发布:2025-01-13 15:26:09 浏览:268
国家税务总局电脑服务器 发布:2025-01-13 15:10:24 浏览:596
金立老款机的开机密码是多少 发布:2025-01-13 15:04:45 浏览:456
湖南网上办税初始密码多少 发布:2025-01-13 15:02:49 浏览:417
怎么使用笔记本连接服务器 发布:2025-01-13 15:02:48 浏览:705
长城cs75plus选哪个配置 发布:2025-01-13 14:54:05 浏览:22
php与大象 发布:2025-01-13 14:48:34 浏览:344
linux编辑器下载 发布:2025-01-13 14:47:01 浏览:737