簡體   English   中英

如何在不克隆整個 android 庫的情況下在 Android Studio 中構建 Android 源代碼的一部分?

[英]How to build a portion of Android source in Android Studio without cloning entire android library?

我試圖更好地理解 Android 源代碼的一部分。

但不是僅僅閱讀它,我想把它放在 Android Studio 中,並且能夠修改它並重新構建、運行它等。

過去,我通過簡單地將有問題的 Java 文件 / s 從源代碼復制到 Android Studio 中,重命名它們並將它們的 ZEFE90A8E604A7C840E88D03A6ZF6 名稱更改為自己的依賴項。

這種做事方式適用於簡單的類,例如RadioButton.java ,但我現在嘗試“導入”的“部分”/模塊是tts package 中的所有文件

So, I found TextToSpeech.java online, copied and pasted it into Android Studio, renamed it MyTTS.java and changed the package name to mine... and started going through the "unresolved symbols" and repeating the process as necessary...

但是,由於這個 tts package 在 Android 代碼樹中“更深”得多,因此我在解決損壞的依賴項(非公共組件、aidl 文件、注釋等)時遇到了幾個障礙,我只能問個人問題,但在我嘗試之前。 我想知道是否已經有一些既定的方法可以做到這一點,不涉及將整個 Android 庫導入 Android Studio)。

您最好的選擇可能是克隆 Android 源代碼存儲庫,限制您下載的內容,然后使用 idegen.sh 命令生成 Android Studio 項目,這將使您能夠從 ZE84E30B9390CDB64DB6DB2C9AB8 中完全訪問源代碼。

要克隆最小數量的 Android 源,請確保為 repo 命令指定特定分支,將 git 深度限制為 1 並指定git 部分克隆 這些將加快您的克隆速度,但仍需要一些時間。 例如

$ repo init --depth=1 -u https://android.googlesource.com/platform/manifest -b android-9.0.0_r46 --partial-clone
...
$ repo sync -j 4
...

下載后,您可以運行 idegen.sh 命令來生成 Android Studio 項目文件:

$ source build/envsetup.sh
...
$ lunch aosp_x86-eng
...
$ mmm development/tools/idegen/
...
$ development/tools/idegen/idegen.sh
...

然后,您將在 AOSP 樹的頂部找到 Android Studio 項目文件。 請注意,每次打開項目時,索引都需要很長時間才能完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM