1. Compile completamente o código-fonte AOSP
Alguns arquivos java são gerados dinamicamente durante o processo de compilação e precisam ser compilados completamente para concluir as dependências do código-fonte.
$ source build/envsetup.sh
$ make -j20
2. Gere arquivos de projeto importados pelo IDE
$ source build/envsetup.sh
$ make idegen
# 或者 mmm development/tools/idegen/
$ development/tools/idegen/idegen.sh
Após a conclusão da execução, um arquivo é gerado no diretório raiz do AOSP:
android.iml # 导入前需先编辑这个文件
android.ipr # 在Android studio中打开这个文件,导入源码工程
3. Antes de importar, edite o arquivo do projeto
(Esta etapa é muito importante, afeta a velocidade de carregamento e o salto do código)
Para editar o arquivo android.iml, você precisa modificar 2 partes:
1) Adicione a lista excludeFolder para excluir caminhos de código-fonte desnecessários, o que pode acelerar a importação e criação de índices de arquivo. Faltam itens excludeFolder no arquivo .iml, que podem ser adicionados posteriormente de acordo com suas necessidades. Por exemplo:
<excludeFolder url="file://$MODULE_DIR$/abi"/>
<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$/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$/hardware"/> -->
<excludeFolder url="file://$MODULE_DIR$/kernel"/>
<!-- <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$/pdk"/>
<excludeFolder url="file://$MODULE_DIR$/platform_testing"/>
<excludeFolder url="file://$MODULE_DIR$/prebuilts"/>
<excludeFolder url="file://$MODULE_DIR$/sdk"/>
<!-- <excludeFolder url="file://$MODULE_DIR$/system"/> -->
<excludeFolder url="file://$MODULE_DIR$/tools"/>
<!-- <excludeFolder url="file://$MODULE_DIR$/vendor"/> -->
<excludeFolder url="file://$MODULE_DIR$/toolchain"/>
<excludeFolder url="file://$MODULE_DIR$/compatibility"/>
<excludeFolder url="file://$MODULE_DIR$/compatibility"/>
<excludeFolder url="file://$MODULE_DIR$/test"/>
Nota: Você também pode adicionar caminhos excluídos modificando o arquivo development/tools/idegen/excluded-paths.
2) Exclua todos <orderEntry type="module-library">...</orderEntry>
os itens. Esses itens são pacotes jar compilados a partir do código-fonte referenciado. Se você os mantiver, pulará para esses arquivos em vez dos arquivos de código-fonte durante o processo jar
de navegação . Após a exclusão, você pode pular diretamente para o arquivo de código-fonte. Nota: Estas configurações também podem ser modificadas no Android studio: estrutura do projeto - configurações do projeto - módulos - dependências, a velocidade é relativamente lenta, não é tão conveniente quanto editar diretamente o arquivo .iml. Por exemplo:class
java
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/./AMSS/lagvm/LINUX/android/out/target/product/prodname/system/framework/locksettings.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/./AMSS/lagvm/LINUX/android/out/target/product/prodname/system/framework/framework.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
4. Importe o projeto para o Android Studio
Abra o arquivo android.ipr gerado acima no Android Studio. Se as edições acima forem feitas e apenas os diretórios de origem necessários forem mantidos, o tempo de carregamento será menor.
Após a conclusão do carregamento, você pode navegar e editar o código completamente.
Quando o AS for fechado, a configuração atual e o índice serão salvos no arquivo android.iws. Será muito rápido abrir o projeto novamente no futuro.
Modifique os parâmetros de configuração do Android Studio:
1) Ajuda - Editar propriedades personalizadas:
(arquivo de configuração correspondente: ~/.config/Google/AndroidStudio versão / idea . properties ) ' idea . max . intellisense . filesize = 100000 ' 2 ) A elp − E ditcustom VM options: (arquivo de configuração correspondente: / . config / G oogle / Android S studio versão/idea.properties) `idea.max.intellisense.filesize=100000` 2) Ajuda - Editar opções de VM customizadas: (arquivo de configuração correspondente : ~/.config/Google/AndroidStudiov ers i o n / i d e a . pro p e r ti d es )' i d e a . ma x . in t e l i se n se . f i l es i ze=100000'2 )Ele lp−Edi t c u s t o mV M o p tions : (arquivo de configuração correspondente : / . con f i g / G oo g l e / A n d ro i d S tu d i o version / studio64.vmoptions)
-Xms1g
-Xmx5g
Se os parâmetros modificados estiverem incorretos e o estúdio não puder ser iniciado normalmente, você pode editar manualmente o arquivo de configuração correspondente para excluir ou ajustar os parâmetros relevantes.