當前位置:首頁 » 安卓系統 » 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來區別開來。

熱點內容
linux多行刪除 發布:2025-01-13 13:06:01 瀏覽:200
傳奇3離線腳本 發布:2025-01-13 13:05:08 瀏覽:751
java請求https 發布:2025-01-13 12:53:35 瀏覽:868
SQL限定符 發布:2025-01-13 12:46:19 瀏覽:145
掛號系統php源碼 發布:2025-01-13 12:39:04 瀏覽:581
存儲器通史是什麼 發布:2025-01-13 12:38:11 瀏覽:405
可以捏的解壓器怎麼做 發布:2025-01-13 12:32:16 瀏覽:524
ios的java編譯器 發布:2025-01-13 12:12:54 瀏覽:616
安卓手機如何看wifi使用人數 發布:2025-01-13 12:08:10 瀏覽:953
vb反編譯教程 發布:2025-01-13 12:08:00 瀏覽:538