Time of Update: 2018-12-05
今天在網上看到有人用BuildConfig.DEBUG,後來查看BuildConfig是gen目錄下自動產生的。並且BuildConfig.DEBUG預設是true,並註明了:自動產生,不能修改。但是我試著修改,也可以修改。後來查看網上資料才清楚它是用來調試用的。也就是說用於判斷是否列印調試的語句或者記錄檔。這樣一來就不用定義常量了。例如:用於偵錯工具。if (BuildConfig.DEBUG) { Utils.enableStrictMode();
Time of Update: 2018-12-05
引用樣式屬性?[<package_name>:][<resource_type>/]<resource_name> 應用當前主題下的指定屬性值 <EditText
Time of Update: 2018-12-05
在<manifest>裡面添加: android:sharedUserId,注意這個屬性的取值必須包含點(dot),也就是諸如java packae的形式。比如com.aaa.bbb。沒有dot的話,將來adb install xxx.apk就會出錯:Failure
Time of Update: 2018-12-05
在android中使用Asset或者res/raw時都要經過Asset Manager,使用這兩種資源提供方式時,必須要注意檔案大小。經過調試發現,Asset或者res/raw中的資源檔的 UNCOMPRESS_DATA_MAX取值為1048576位元組,也就是最大為未壓縮1MB。否則會在logcat下看到擷取到Debug類型的信 息,04-09 02:48:51.220: DEBUG/asset(10734): Data exceeds UNCOMPRESS_DATA_MAX (19053
Time of Update: 2018-12-05
此文轉載,希望朋友有好的面試題 發來研究一下……1、 Android dvm的進程和Linux的進程, 應用程式的進程是否為同一個概念DVM指dalivk的虛擬機器。每一個Android應用程式都在它自己的進程中運行,都擁有一個獨立的Dalvik虛擬機器執行個體。而每一個DVM都是在Linux 中的一個進程,所以說可以認為是同一個概念。2、sim卡的EF
Time of Update: 2018-12-05
1. Download a specific version:repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.3.4_r1repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo 2. Download protocol:You can use both the the git:// or the
Time of Update: 2018-12-05
Hi,Everything is out there in .git folder only.By default, these URLs for cloning will put the .git stuff in your local folder. As you have not mentioned any remote branch name while cloning , hence,it would not checkout the files in your local
Time of Update: 2018-12-05
轉載自:http://intrepidusgroup.com/insight/2010/09/android-root-source-code-looking-at-the-c-skills/ Root Andoid現在主要是依靠兩個漏洞:init進程的udev和adbd進程的setuid,下面是詳細描述。之前的文章提到的rageagainstthecage這個程式利用的是setuid這個漏洞。這兩個漏洞的攻擊程式源碼在這裡:/Files/super119/RageAgainstTheCage.
Time of Update: 2018-12-05
轉載自:http://www.cnblogs.com/hangxin1940/archive/2011/10/22/2221451.html 第三天,google說,伊甸園(linux世界)要被隔離,於是便創造了亞當(Adm)與夏娃(Eve),稱它為zygote和system_server --xxx 第二天,init跑完了,它對於android系統,最重要的,就是啟動了zygote和system-server,誰是Adam誰是Eve?
Time of Update: 2018-12-05
轉自:http://www.cnblogs.com/hangxin1940/archive/2011/10/01/2196964.html 第一天,google說,要有電,於是電流湧向了電路板,湧入了arm處理器,於是arm運作了。 --xxx 嵌入式世界誕生之出,世界是荒蠻的,電流湧向各個晶片,各種處理器等待著喚醒。 arm覺醒了,開始審視自己。。。。 ---------------下面內容可能有誤,請指正------------
Time of Update: 2018-12-05
文章目錄 What is a bootloader ?Android Phone Bootloaders ?Why is Bootloader Locked ?Why To Unlock Bootloader On Android Devices ?How To Unlock Bootloader On Android Phones [Nexus One] If you are new to the world of Android
Time of Update: 2018-12-05
有的時候想讓一個view出現在另一個view的上面,可以這樣:You can't use a LinearLayout for this, but you can use a FrameLayout. In a FrameLayout, the z-index is defined by the order in which the items are added, for example:<FrameLayout
Time of Update: 2018-12-05
按照Android的文檔,需要添加這樣的udev規則:SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" 不過需要注意的時候,在發現adb無法發現Android裝置的時候,請注意idVendor字串是否是填成小寫。如之前調試Sharp的裝置,Sharp的vendor
Time of Update: 2018-12-05
轉自:blog.163.com/bjtornado@yeah/blog/static/69510484201081181657449/1) 編譯包含Debug 資訊設定如下環境變數:TARGET_BUILD_TYPE=debugTARGET_STRIP_MODULE=false (發現即使設定編譯為Debug模式, 最後產生的檔案系統中的程式和庫還是會被strip. 設定此選項可以避免被strip)不過還要需要修改一下build/core/combo/linux-arm.mk,
Time of Update: 2018-12-05
1. unlink函數的使用。init中開啟的檔案,會用unlink刪掉該檔案。這樣init進程還有這個檔案的FD,可以進行操作。但是檔案系統中這個檔案已經沒有了。這樣就保證只有init進程才能操作這些檔案了。2. getprop和setprop命令可以用來擷取/設定init維護的properties。3. persist.service.adb.enable屬性用來控制是否要啟動adbd4. init使用了unix
Time of Update: 2018-12-05
Early Suspend、Late ResumeEarly Suspend和Late Resume是Android在標準Linux的基礎上增加的一項特性。當使用者空間的向內核請求進入suspend時,這時候會先進入early suspend狀態,驅動程式可以註冊early suspend的回呼函數,當進入該狀態時,內核會逐一地調用這些回呼函數。例如顯示幕的驅動程式通常會註冊early
Time of Update: 2018-12-05
From: http://como0925.pixnet.net/blog/post/29390286-%5Bandroid%5D%E9%97%9C%E6%96%BCapp2sd,a2sd,data2sd,a2sd%2B%E4%B9%8B%E9%96%93%E7%9A%84%E5%8D%80%E5%88%A5%E5%92%8C首先解釋一下這些縮寫,全部的意思就是Application To
Time of Update: 2018-12-05
隨著現在手機的內部儲存從NAND轉變到eMMC,現在的system.img已經越來越多的使用ext4作為檔案系統,而不是以前的yaffs2。使用file命令查看system.img,如果輸出是:VMS Alpha Exectutable,那麼這是yaffs如果輸出是data,那麼很可能是ext4的。只不過這個image是一個spare image,含有一些spare資料,所以需要先用simg2img處理一下,然後就可以直接mount了。至於為什麼採用eMMC來代替NAND,摘錄百度百科的一段話:
Time of Update: 2018-12-05
逸出字元 \ 轉義緊隨的元字元 \Q 轉義所有緊隨的元字元直到\E \E 與\Q搭配使用,轉義包含的所有元字元 \\ 反斜線 \uhhhh 16進位Unicode字元U+hhhh \xhh 16進位Unicode字元U+00hh \cx ASCII控制字元^x(所以\cH表示^H,U+0008) \a ASCII字元U+0007,BELL \e
Time of Update: 2018-12-05
jar引用的資源檔必須放在assets檔案夾中,並且布局檔案和Drawable必須是編譯過的格式,否則布局檔案無法解析,一般的Drawable尺寸不正確,Nine-Patch無法展開。 抽取布局檔案的方法如下,其中fileName必須包含assets/路徑: public static View extractView(Context context, String fileName, ViewGroup root) throws Exception {