我從公司得到了一個沒有文檔的項目。現在我必須添加一些東西到這個項目中,像新增加的功能等等。但我不知道這個項目是如何組織和開始的......有誰知道如何使用這樣的項目?我可以用shema分析嗎?如何在沒有文檔的情況下分析和使用Android項目?
我如何找到此應用程序的起點?
有沒有辦法從A調試到Z?
我從公司得到了一個沒有文檔的項目。現在我必須添加一些東西到這個項目中,像新增加的功能等等。但我不知道這個項目是如何組織和開始的......有誰知道如何使用這樣的項目?我可以用shema分析嗎?如何在沒有文檔的情況下分析和使用Android項目?
我如何找到此應用程序的起點?
有沒有辦法從A調試到Z?
查找範圍的入口點主要活動的清單文件。
雖然其他人可能會使用特定於Android的答案作爲參與,但您應該將此項目視爲「遺留代碼」 - 由其他人創建,缺乏文檔或缺少文檔,並且對最初的實現。
退房Working Effectively with Legacy Code Feathers,如果你想你的問題一本體面的書。同樣相關的,但不是針對Android的,是Rails Test Prescriptions中電子書「Rails Rescue」和「遺留代碼」一章中的建議。雖然Rails相關,但作者的建議直接適用於大多數項目。
一言以蔽之:
最後,閱讀代碼。你必須咬緊牙關,熟悉實施過程 - 這是沒有辦法的。
起點的應用程序(主要活動)可以在清單文件中找到:
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
哪種活動有此意圖過濾器是應用程序
謝謝,這也是有用的,但沒有回答我的整個問題。這就是爲什麼我只能給你一個+1 – MrTouch
支票的Manifest.xml的<activity>
線應該有人得了
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
這哪裏是APK開始
的話,我將在這個類的onCreate()
方法開始。您還應該檢查設備啓動時可能啓動的服務。 檢查一個BroadcastReceiver
和像這樣
if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction()))
正如JesperB說,發現清單中的啓動活動。
然後,我會在調試模式下運行應用程序,然後沿着使用該應用程序的所有內容前進,然後沿着路徑做筆記。
你也可以嘗試運行視圖heirarchy查看器,它也可以提供一些方向。
我不明確地得到你的觀點與測試套件..你能解釋這一點嗎?並且nope沒有該應用程序的版本控制...:S – MrTouch
Aytac,*在進行任何更改之前,獲取版本控制下的項目*。接下來,教您自己測試Android應用程序和JUnit。 – ybakos