Android開發周報:反編譯對抗研究、動手制作智能鏡子
新聞
- 《Android Wear落地中國 谷歌增強安卓生態控制力》 :9月8日,由摩托羅拉推出的智能手表Moto 360二代作為國內發售的第一款搭載官方Android Wear的設備,正式在上海發布。值得注意的是,摩托羅拉這款智能手表搭載的不是Google Play和谷歌地圖,而是聯想應用商店和搜狗地圖。這意味著,谷歌開始接受其安卓生態系統和原生服務分離的方式進入國內市場。這種現象在以前是無法想象的。
- 《安卓6.0正式版將不帶夜間模式》 :在谷歌的第一個Android M開發者預覽版中,新增了一個夜間模式主題,受到了很多人的歡迎,然而不知為什么,在之后的Beta2和Beta3中,這一功能不見了蹤影。夜間模式對于用戶在夜間的閱讀體驗也確實有很大提升,不知為何谷歌要做出取消該功能的決定,現在用戶只能寄希望于第三方主題。
- 《安卓5.0/5.1份額突破20%,依然落后安卓4.4》 :近日谷歌公布了9月第一周的安卓系統版本數據,數據顯示,Android Lollipop(5.0和5.1)的占有率首次突破20%,達到21%。但相比Android 4.4 KitKat 39.2%的占有率以及Android 4.1/4.2/4.3 Jelly Bean 31.8%的占有率仍存在很大差距。與此同時,整體來說安卓系統的碎片化問題依然非常嚴重。
教程
- 《Android分包MultiDex原理詳解》 :當Android系統安裝一個應用的時候,有一步是對Dex進行優化,這個過程有一個專門的工具來處理,叫DexOpt。DexOpt的執行過程是在第一次加載Dex文件的時候執行的。但舊版本的DexOpt有一個問題,它會把每一個類的方法id檢索起來,存在一個鏈表結構里面,而鏈表的長度是用一個 short類型來保存的,導致了方法id的數目不能夠超過65536個。當一個項目足夠大的時候,就會報方法數超限有錯誤信息。為了解決方法數超限的問題,需要將該dex文件拆成兩個或多個,本文給大家詳細介紹了拆包的原理。
- 《Android Log工具類》 :Log是調試程序必不可少的工具,當然在Android開發過程中也會面臨許多關于Log的問題,比如不容易找到自己設置打印的內容,找到Log但是定位到Java源碼有不是很方便,對Log打印需要設置Tag,發布正式版本需要注釋或者關掉很多Log開關等。一個優秀的Log工具可以幫助我們節約大量的調試時間,本文詳細介紹了Log的優化策略,并給出了封裝好的Log Utils。
- 《Android的消息機制之ThreadLocal的工作原理》 : Android的消息機制主要是指Handler的運行機制,Handler的運行需要底層的MessageQueue和Looper的支撐。 Handler創建的時候會采用當前線程的Looper來構造消息循環系統,那么Handler內部如何獲取到當前線程的Looper呢?這就要使用 ThreadLocal了,ThreadLocal可以在不同的線程之中互不干擾地存儲并提供數據,通過ThreadLocal可以輕松獲取每個線程的 Looper。ThreadLocal是一個線程內部的數據存儲類,通過它可以在指定的線程中存儲數據。本文結合實例,分析了ThreadLocal的工作原理。
- 《Android內存泄露案例分析》 :一款優秀的Android應用,不僅要有完善的功能,也要有良好的體驗,而性能是影響體驗的重要因素之一。內存泄露是Android開發中常見的性能問題。本文作者以真實案例演示內存泄露從發現、分析定位到最終解決的全過程。
- 《Android程序的反編譯對抗研究》 :對抗反編譯是指讓Apk文件或者dex文件無法正常通過反編譯工具,而且有可能導致工具異常或者崩潰。目前大多數Android軟件的反編譯工具都是開源的,比如apktool、Dex2jar、baksamli,大家可以非常方便的從github下載并源閱讀代碼,然后找到可以利用的點,再在自己的軟件中加入干擾代碼,讓反編譯工具出現異常或者無法正常閱讀代碼。本文作者實踐了對抗的詳細過程。
開源項目
- HomeMirror :近年來智能化這個概念炒的很是火熱,很多家電都已經實現了智能化,比如智能燈泡、電視等。或許你也在視頻里看到過智能鏡子,但應該從來沒想到自己也能制作一塊這樣的鏡子。HomeMirror提交不到一個月,獲得了4000+的star,可想項目多么受歡迎。該項目實現了一塊比較智能的鏡子,鏡子能顯示日期、天氣、股票以及一些娛樂信息等。項目中給出了包括軟件、硬件的完整實現過程。當然,更強大的功能還需要你去發揮想像。如果英文不太好,也可以看 這里 的中文翻譯。
- Colorful :這是一個基于Theme的Android動態換膚開源庫。Colorful在實現換膚的過程中,無需重啟Activity、無需自定義View。我們可以利用該項目方便的實現夜間模式功能。
- ExpandableLayout :由于移動設置屏幕比較小,有時候我們僅需要直接顯示簡介,當用戶進行點擊操作的時候才會展示所有內容。ExpandableLayout是一個可伸縮的自定義view,并且伸縮過程中伴隨著體驗非常好的動畫效果。ExpandableLayout可以使用到列表展示、隱藏菜單,甚至也可以用于搜索提示。
工具
- Android平臺主流應用程序模板 :雖然移動互聯網在近年來勢頭很猛,但如今無論是Android還是iOS,大部分應用幾乎沒有下載量。有大量開發商其實并沒有必要從頭到尾去獨立開發一款App,可以從網絡上下載或購買各類應用模板,并利用它們構建自己的移動應用項目。這樣不僅能夠在為初創公司時省Money,還能夠節省下大量時間。本文收集了市場上十套最具實用性的Android應用模板(收費),希望能夠幫助大家輕松打造出屬于自己的應用成果。 這里 是英文原文,內附模板下載地址。
- Android逆向工程工具集 :這是一個Android反編譯工具的合集,收集了目前比較流行的反編譯軟件,項目持續更新中,你如果有更好的反編譯工具,歡迎參與到項目中來。
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!