當前位置:首頁 » 安卓系統 » android系統級深入開發移植與調試

android系統級深入開發移植與調試

發布時間: 2023-07-15 10:14:43

⑴ ROM製作工具如何製作手機刷機包

具體步驟如下:

打開ROM製作工具,選擇【批量製作】

⑵ 怎麼進行android開發

學習分三個階段:

1,Android基礎階段:平台兆祥架構特性(java/C) Market/應用程序組件 環境搭建與部署/打包與發布 AVD/DDMS/AAPT 調試與測試 相關資源訪問/資源製作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深層實現

2,Android進階初級:組件Widget/ 菜單Menu/ 布局Layout 詳解 Xml解析(Pull/Dom/Sax)/JNI 解析SQL資料庫原理,。

SQLite //File詳解 多媒體Audio/Video/Camera 詳解

3,Android進階高級:藍牙/WIFI SMS/MMS 應用實現 深層次解析GPS原理。

實現/ 進行定位/跟蹤/查找/趨近警告以及Geocoder正逆向編解碼等技術細節 2D圖形庫(Graphics/View)詳解 SDCARD/感測器/手勢 應用實現

(2)android系統級深入開發移植與調試擴展閱讀:

知識體系

1、Unix/linux平台技術:基本命令,Linux下的開發環境

2、企業級資料庫技術:SQL語言、SQL語句調優、Oracle資料庫技術

3、Java 語言核心技術:Java語言基礎、Java面向對象編程、JDK核心API、Java集合框架、Java網路編 程、JavaI/O編程、Java多線程編程、Java異常機制、Java安全、JDBC、XML

4、軟體工程和設計模式:軟體工程概述、配置管理及SVN、UML、基本設計模式

5、Android應用開發基礎:Android開發平台、EclipseADT開發環境、AVD及感測模擬器調試、Android核心組件、Android常用組件、Android高級組件、文件及網路訪問、SQLite資料庫編程、後台服務編程

6、互聯網核心技術:好薯 HTML、CSS、JavaScript、JQuery、Ajax應用

7、Android高級應用開發:音頻視頻攝像頭、互聯網應用、GPS和位置服務、Google Map、2D D繪制、感測器開發、游戲開發、電話及SMS服務、網路BluetoothWi-Fi等。

8、Android系統級開發友猜者:移植、驅動、NDK(C方向)。

9、JavaEE核心技術:Servlet核心技術、JSP核心技術、Struts、Spring、Hibernate框架。

⑶ 如何使用Android Studio開發/調試Android自帶系統應用

開發調試環境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源碼
由於AS是基於IntelliJ IDEA開發的,所以本文也適用於IntelliJ IDEA
一、修改Android Studio(以下簡稱AS)的內存配置

因為在導入源碼時需要消耗大量內存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的機器修改studio.vmoptions)中-Xms和-Xmx的值。文檔中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一個沒有classpath的JDK, 這樣可以確保使用源碼里的庫文件

並將其作為要使用的SDK的Java SDK。如下圖

三、生成導入AS所需配置文件(*.ipr)
編譯源碼(為了確保生成了.java文件,如R.java;如果編譯過,則無需再次編譯)
②檢查out/host/linux-x86/framework/目錄下是否有idegen.jar
如果idegen.jar不存在,執行:
mmm development/tools/idegen/

在5.0.1的源碼中會生成res.java的文件夾,導致idegen.jar運行時拋FileNotFoundException,這是idegen的代碼不夠嚴謹造成的。
我的分享里有修改這個bug的patch,或者直接使用我分享的idegen.jar。
③執行
development/tools/idegen/idegen.sh

等待出現類似下面的結果:
Read excludes: 5ms
Traversed tree: 44078ms

這時會在源碼的根目錄下生成android.ipr和android.iml兩個IntelliJ IDEA(AS是基於IntelliJ IDEA社區版開發的)的配置文件
Tips:
AS在導入代碼時比較慢,建議先修改android.iml,將自己用不到的代碼exclude出去.可以仿照過濾.repo文件夾的語法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
這樣在導入時就會跳過abi和art文件夾.過濾的越多,AS的處理速度就會越快.
④在AS中打開源碼根目錄下新生成的android.ipr

如果在導入時AS出現

則建議按照其給定的解決方法來解決(網址:http://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit),具體內容如下圖:

四、解決源碼中跳轉錯誤問題
①為當前工程設置正確的SDK和JDK

②設置'Moles'的依賴

先將所有依賴刪掉,只留下上圖'1'所指向的兩個(注意:這里刪除全部只是為了方便。如果確實用到了.jar,在將它們的路徑添加進來就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
點擊上圖中'2'指向的'+'並選擇上圖'3'指向的'Jars or directories'選項,依次將frameworks和external文件夾添加進來.如:

其它版本的代碼在添加frameworks時可能會顯示成:

沒有關系,只是顯示問題,點擊OK還是會把frameworks路徑添加進去的.
如果還有代碼跳轉錯誤,請仿照上面的步驟將相應代碼的路徑或jar文件添加到其Dependencies標簽頁中即可.
五、DEBUG源碼
我們可以通過給剛導入的工程在'Moles'中添加'Android Framework'來讓AS將它作為一個Android工程,從而方便我們調試代碼.

可以按照上圖中'1'和'2'來添加Android Framework支持.

在代碼中加斷點,然後選擇'Run'->'Attach debugger to Android process'或者直接點擊下圖所示的圖標
在彈出的選擇進程(Choose Process)對話框中,勾選顯示所有進程,選擇要DEBUG的代碼所在的進程,點擊OK即可.
六、其它
代碼中很多地方提示Call requires API Level x.... 出現這個問題是因為AS將我們的工程當做安卓應用程序工程了,且源碼中沒有指定minSdkVersion.
我們只需在源碼根目錄加一個聲明minSdkVersion的AndroidManifest.xml文件即可(分享了一個AndroidManifest.xml)。
也可以考慮使用build.gradle來解決該問題。

熱點內容
資料庫的演算法 發布:2025-02-05 20:25:32 瀏覽:859
微信解壓異常 發布:2025-02-05 20:24:39 瀏覽:493
linux0位元組文件夾 發布:2025-02-05 20:23:07 瀏覽:652
專題的腳本怎麼寫 發布:2025-02-05 20:19:18 瀏覽:923
獨立站買什麼伺服器 發布:2025-02-05 20:13:24 瀏覽:296
android鬧鍾設置 發布:2025-02-05 20:12:29 瀏覽:955
計算機代碼經典編程 發布:2025-02-05 19:25:09 瀏覽:757
安卓抖音怎麼換不了白色背景 發布:2025-02-05 19:11:16 瀏覽:810
安卓手機如何變成手寫 發布:2025-02-05 19:11:14 瀏覽:981
esp32搭建自己的伺服器 發布:2025-02-05 18:58:00 瀏覽:318