Time of Update: 2018-12-05
一、編譯環境搭建Ubuntu Linux (64-bit x86)This has not been as well tested. Please send success or failure reports to android-porting@googlegroups.com .The Android build requires a 32-bit build environment as well as some other tools:Required Packages:Git,
Time of Update: 2018-12-05
以兩點為例,Linux多點觸摸協議上報次序為ABS_MT_TOUCH_MAJOR ABS_MT_WIDTH_MAJOR ABS_MT_POSITION_X ABS_MT_POSITION_Y SYN_MT_REPORT //手指1 ABS_MT_TOUCH_MAJOR ABS_MT_WIDTH_MAJOR ABS_MT_POSITION_X ABS_MT_POSITION_Y SYN_MT_REPORT //手指2
Time of Update: 2018-12-05
Android上替換Launcher有兩種方法,一種是將img燒到裝置上時,將Launcher打進去,另外也可以試著替換Launcher。這裡先測試第二種。想修改替換以下Android裡的Launcher, 但是Laucher所在的目錄/system/app是唯讀。需要先通過remount將其設定為rw。具體操作:lixinso@lixinso-desktop:~$ adb devices List of devices attached emulator-5554
Time of Update: 2018-12-05
Android使用者事件輸入路徑 1 輸入路徑的一般原理 按鍵,滑鼠訊息從收集到最終將發送到焦點視窗,要經曆怎樣的路徑,是Android
Time of Update: 2018-12-05
在開發Android應用時,通常情況下是通過USB資料線串連裝置和電腦,但對於一些需要使用USB裝置的應用,這種方法就碰到了麻煩,手機的USB介面已經和外接的USB裝置串連,無法再連資料線,此時可以通過網路TCPIP的方法來進行。也就是然ADB 通過網路來串連裝置,而無需USB資料線。具體方法如下:1. 使用USB資料線串連裝置。2. 在命令列輸入adb tcpip 5555 ( 5555為連接埠號碼,可以自由指定)。3. 斷開 USB資料,此時可以串連你需要串連的|USB裝置。4.
Time of Update: 2018-12-05
如果你只修改某一個模組的內容,卻每次都要執行make, 最後等待很長時間。使用模組編譯,只需要在你所在的模組的目錄或者其子目錄,執行mm,便可以編譯出一個單獨的apk,這樣豈不快哉!具體步驟: 1)開啟~/.baserc檔案,加入source ~/I850/build/envsetup.sh. 加入你自己該檔案所在的路徑,這樣就免去了每次啟動新的終端執行mm命令之前,需要引用此檔案。
Time of Update: 2018-12-05
. Android內核Porting相關背景知識1.1 運行平台Google 的Android平台到20020227為止,應用部分還是以二進制的 Binary形式發佈的,其編譯的目標平台 ARM926EJ-S的CPU是屬於ARMV5T的版本,所以ARMV4架購的CPU平台無法使用其二進制代碼。關於這點,可以參考下面這篇文章,Benno在此做了詳細的理論分析和代碼測試:http://benno.id.au/blog/2007/11/21/android-neo1973 .
Time of Update: 2018-12-05
/system/core/init初始化程式 1.執行sigaction函數,對SIGCHILD訊號進行處理。實際上暫時屏蔽2.設定umask來清空後面建立檔案的mask3. 建立檔案系統mount point & mount 記憶體檔案系統4. open_devnull_stdio 0 1 2 is the fd. They are all the file descriptor of /dev/__null__5.open /dev/__kmsg__ as log
Time of Update: 2018-12-05
1. Android支援的linux command不多,在/system/bin下面可以找到,其中大部分都是Android的工具,只有一小部分是linux原有的命令2. 一些常用的Android命令(這裡只總結Android中特有的,其他的linux命令資料就很多了)a)getprop/watchpropsgetprop列出系統的屬性,前面十名字,後面是值# getpropgetprop[ro.secure]: [0][ro.allow.mock.location]:
Time of Update: 2018-12-05
Android電源管理的相關內容對出初學者來說是比較複雜的一個知識點。我們可以通過這篇文章介紹的內容初步的掌握一下這方面的知識。 對於剛剛接觸Android作業系統的朋友來說,他們對這一開源的手機作業系統所帶來的功能深深的吸引著。我們在這篇文章中就通過對Android電源管理的相關概念的解讀,來對這一系統進行深入的瞭解。接下來我們從Java應用程式層面, Android framework層面,
Time of Update: 2018-12-05
1 FrameBuffer的發展曆史電腦研究者從很早開始已經開始討論理論上FrameBuffer的優點,但卻一直苦於沒有能力生產一台擁有足夠記憶體的電腦。1969年,貝爾實驗室的JoanMiller實驗了第一個已知的FrameBuffer。該裝置顯示了一幅3位位深的圖片。然而,直到20世紀70年代,整合電路的記憶體晶片上的進展才使得製造一個可以顯示標準視頻映像的FrameBuffer成為可能。1972年,Richard
Time of Update: 2018-12-05
我在彈出proressbar的時候,發現handler直接post一個runnable對象的時候,進度條彈出耗時很長,然而採用在一個新線程裡面使用handler進度條啟動要快的多。第一種情況代碼如下:progress_dialog.show();mHandler.post(new Runnable() { @Overridepublic void run() { data = XMLUtil.parserXML(JokeMessageActivity.this,
Time of Update: 2018-12-05
最近要修改packages/apps目錄下的項目,需要加些功能上去。在添加一些資源檔後,出現莫名的錯誤:xxx ...找不到檔案。 造成這種錯誤的原因主要有四個: 1.代碼; 2.沒有資源檔; 3.沒有添加R檔案; 4.xml未編譯
Time of Update: 2018-12-05
viewgroup簡單說就是可以裝view的view.今天遇到一個問題,就是需要一個可以自動根據一行中view的寬度自動換行的布局,網上找了下,沒有相關的例子,但是找到了思路:自訂一個viewgroup,然後在onlayout檔案裡面自動檢測view的右邊緣的橫座標值,和你的view的parent view的況度判斷是否換行顯示view就可以了。因為代碼比較簡單,就不多說了: 1 public class MyViewGroup extends ViewGroup { 2
Time of Update: 2018-12-05
通過Android手機上的定位資訊來源可分為三種,GPS,Cell-ID,和Wifi. 後兩種因為都按來自於網路,所以在Android
Time of Update: 2018-12-05
提出問題:使用Ant + Groovy 編譯產生不同環境的APK包 (例如,prod、uat、qa、dev)問題描述:默 認情況下,項目的package為 ”com.vmn.app.crm”,我們需要在編譯的時候同時產生package 為”com.vmn.app.crm.uat”、”com.vmn.app.crm.qa”、”com.vmn.app.crm.dev”的APK,如此 我們在同一個測試機器上就能同時安裝prod、uat、qa、dev四個環境的APK。問題分析:要實
Time of Update: 2018-12-05
學習步驟和重點UI布局主要UI元素主要按鈕和事件螢幕跳轉彈出框一. Android UI布局本段主要參考 此人部落格,稍加整理。原文請見:原文1.1 線性布局(LinearLayout)此種布局一個重要參數為android:orientation="horizontal"(水平顯示),共2中元素垂直顯示為“vertical”。參考代碼:<LinearLayout
Time of Update: 2018-12-05
體步驟如下 1、獲得root許可權:adb root 2、設定/system為可讀寫:adb remount 3、將hosts檔案複製到PC:adb pull /system/etc/hosts e:\hosts4、修改PC機上檔案 5、將PC機上檔案複製到手機:adb push e:\hosts /system/etc/hosts 但在第五步時,有的人會報 out of memory的錯誤 這是因為直接用命令列啟動,而沒加一個參數造成的,但是用下面這個命令來啟動就行了 emulator
Time of Update: 2018-12-05
在Adnroid中,直接運行ADB UNInstall無法卸載APK。害得哥每次進Settings去手工去卸載。 今天哥終於受不了,直接在DDMS裡刪除APK。然後再運行ADB UNINSTALL,居然成功! 所以哥馬上寫了三個指令碼,一個是刪除APK包括它下面的sqlite,share pref等,還有一個是卸載這個APK的命令。最後就是重新安裝啦。 哥寫了個操作adb
Time of Update: 2018-12-05
一、修改設定檔AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cn.ycmoon.test.activity" android:versionCode="1" android:versionName="1.0"> <uses-sd