您好,登錄后才能下訂單哦!
這篇文章主要講解了“使用Android Studio斷點調試的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“使用Android Studio斷點調試的方法”吧!
1.首先你要有系統源碼還要有linux的環境
2.上面的環境配置好之后執行
source build/envsetup.sh
初始化了一些函數,接著執行
make idegen -j32
執行完這個,會生成idegen.jar ,接著執行
sh ./development/tools/idegen/idegen.sh
執行完這個就會生成,AS需要的一些文件 android.ipr、android.iml
android.ipr:通常是保存工程編譯器配置,入口,相關LIBRARIES等配置
android.iml:主要描述了modules的路徑,依賴關系等
3.到這里,雙擊android.ipr 就可以用AS打開項目了,但是如果真的要直接打開,AS會加載的非常慢,畢竟安卓源碼是非常龐大的,所以需要對android.iml處理,只添加我們需要的目錄即可,下面簡單介紹下android.iml的標簽,之后會上傳一份模板
關于<sourceFolder>標簽:
通需要的文件添加到這里面,其他的刪除,如package、framework
<sourceFolder url="file://$MODULE_DIR$/packages" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/frameworks" isTestSource="false" />
關于<excludeFolder>標簽:
exclude顧名思義就是不包含的意思,不需要的添加到這里面,如vendor、external
<excludeFolder url="file://$MODULE_DIR$/vendor" />
<excludeFolder url="file://$MODULE_DIR$/external" />
關于<orderEntry>標簽:
保留這兩個就可以了
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="jdk" jdkName="Android API 24 Platform" jdkType="Android SDK" />
android.iml <?xml version="1.0" encoding="UTF-8"?> <module version="4" relativePaths="true" type="JAVA_MODULE"> <component name="FacetManager"> <facet type="android" name="Android"> <configuration /> </facet> </component> <component name="ModuleRootManager" /> <component name="NewModuleRootManager" inherit-compiler-output="true"> <exclude-output /> <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$/packages/apps/Launcher3" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/packages/wallpapers/LivePicker" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/vendor/mediatek/proprietary/packages/apps/SystemUI" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/frameworks/base/services" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/frameworks/base/core/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/frameworks/base/core/res" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/frameworks/base/packages/SystemUI" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/frameworks/libs/systemui" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/gen" isTestSource="false" generated="true" /> <excludeFolder url="file://$MODULE_DIR$/.repo" /> <excludeFolder url="file://$MODULE_DIR$/FeatrueTableSpec" /> <excludeFolder url="file://$MODULE_DIR$/abi" /> <excludeFolder url="file://$MODULE_DIR$/apps" /> <excludeFolder url="file://$MODULE_DIR$/art" /> <excludeFolder url="file://$MODULE_DIR$/bionic" /> <excludeFolder url="file://$MODULE_DIR$/bootable" /> <excludeFolder url="file://$MODULE_DIR$/build" /> <excludeFolder url="file://$MODULE_DIR$/ccu_tool" /> <excludeFolder url="file://$MODULE_DIR$/compatibility" /> <excludeFolder url="file://$MODULE_DIR$/cts" /> <excludeFolder url="file://$MODULE_DIR$/dalvik" /> <excludeFolder url="file://$MODULE_DIR$/developers" /> <excludeFolder url="file://$MODULE_DIR$/development" /> <excludeFolder url="file://$MODULE_DIR$/device" /> <excludeFolder url="file://$MODULE_DIR$/docs" /> <excludeFolder url="file://$MODULE_DIR$/external" /> <excludeFolder url="file://$MODULE_DIR$/frameworks" /> <excludeFolder url="file://$MODULE_DIR$/hardware" /> <excludeFolder url="file://$MODULE_DIR$/kernel" /> <excludeFolder url="file://$MODULE_DIR$/kernel-3.18" /> <excludeFolder url="file://$MODULE_DIR$/kernel-4.4" /> <excludeFolder url="file://$MODULE_DIR$/kernel-4.19" /> <excludeFolder url="file://$MODULE_DIR$/kernel-4.19-lc" /> <excludeFolder url="file://$MODULE_DIR$/kernel-4.14" /> <excludeFolder url="file://$MODULE_DIR$/libcore" /> <excludeFolder url="file://$MODULE_DIR$/libnativehelper" /> <excludeFolder url="file://$MODULE_DIR$/ndk" /> <excludeFolder url="file://$MODULE_DIR$/out" /> <excludeFolder url="file://$MODULE_DIR$/packages" /> <excludeFolder url="file://$MODULE_DIR$/pdk" /> <excludeFolder url="file://$MODULE_DIR$/phoenix" /> <excludeFolder url="file://$MODULE_DIR$/platform_testing" /> <excludeFolder url="file://$MODULE_DIR$/prebuilt" /> <excludeFolder url="file://$MODULE_DIR$/prebuilts" /> <excludeFolder url="file://$MODULE_DIR$/res" /> <excludeFolder url="file://$MODULE_DIR$/sdk" /> <excludeFolder url="file://$MODULE_DIR$/system" /> <excludeFolder url="file://$MODULE_DIR$/test" /> <excludeFolder url="file://$MODULE_DIR$/toolchain" /> <excludeFolder url="file://$MODULE_DIR$/tools" /> <excludeFolder url="file://$MODULE_DIR$/trusty" /> <excludeFolder url="file://$MODULE_DIR$/vendor" /> </content> <orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="jdk" jdkName="Android API 30 Platform" jdkType="Android SDK" /> </component> </module>
這樣AS的只會去索引你添加的sourceFolder ,其他的都不添加,就會快了很多
4.該文件在AS安裝目錄下面,bin文件夾下
64位的修改studio64.exe.vmoptions、32位的修改studio.exe.vmoptions
-Xms1024m 修改這個,表示的是分配給studio的內存大小
-Xmx1280m
5.打開AS,選擇open exist...,選擇剛生成的android.ipr
這時候會快很多,因為好多索引我們都去除了,如果需要,再添加回來就是了
等待漫長的indexing...
6.添加一個安卓app,選擇要調試的進程即可
8.最終效果如下圖,比如我調試的是系統的launcher3
感謝各位的閱讀,以上就是“使用Android Studio斷點調試的方法”的內容了,經過本文的學習后,相信大家對使用Android Studio斷點調試的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。