关于Chromium的Android Studio使用

2017-08-17  本文已影响955人  进击的前端

原文

使用

关于generate_gradle.py,在构建调试chromium for android一文中提到过,主要是用来产生android studio能够识别的项目。

build/android/gradle/generate_gradle.py

参数canary产生基于Android Studio3.1的工程

build/android/gradle/generate_gradle.py [--canary]  # Use --canary for Android Studio 3.1 canary

一般而言是在out/Debug/gradle产生工程,如果想要在别的地方

build/android/gradle/generate_gradle.py --output-directory out/My-Out-Dir --project-dir my-project

—output-directory是当时ninja输出的目录,而且—project-dir是android studio后来打开的目录

如果想要添加额外的target的话

build/android/gradle/generate_gradle.py --extra-target //chrome/android:chrome_public_apk

对于首次使用Android Studio的用户

对于从Android Studio 2.2升级到2.3的:

为了导入工程:

怎么工作

一般情况下,只产生一个模块,如果多于一个apk产生的话,那么_all模块会产生。 instrumentation tests和apk_under_test对象是绑定的,它们是作为一个模块的。

如果想了解gn对象的更多细节结构,使用—split-projects的flag,它会在依赖图中为每个gn对象都产生一个模块。

Excluded Files

gradle支持source directories,但是不支持source files,然而,chromium的文件被多个target使用,为了适应这个现象,脚本检测这些target,创造了exclude pattern来把不在这个target的文件给去掉。

提取 .srcjars

在GN中大部分产生的.java文件以.srcjars形式存储。Android Studio并不支持他们,所以generator script构建以及提取它们到extracted-srcjars 子目录,这也是为什么_all包含多种generated files的备份的缘故。

Android Studio的tip

有用的快捷方式

从命令行构建

在Android Studio导入项目以后,Gradle在能够从命令行构建。

cd $GRADLE_PROJECT_DIR && bash gradlew

结果丢失assets, resources, 本地的库等

一个常见的问题,在构建完了项目以后,并不能找到相应的文件,例如tab.java,这个时候可以看一下plugin的问题,菜单->Preferences->Plugins->Android Support 没有勾选的话勾选,然后重启。

上一篇 下一篇

猜你喜欢

热点阅读