前提
开始
这个app有一个按键,按下后将打印“Hello Bazel!"
用git下载源码:(也可以点这里手动下载zip压缩包)
git clone git@github.com:bazelbuild/examples.git bazel-examples
cd bazel-examples/android/tutorial
(后面所有操作都是在android/tutorial目录下执行)
查看源文件
源码文件目录如下:
.
├── README.html
└── src
└── main
├── AndroidManifest.xml
└── java
└── com
└── example
└── bazel
├── AndroidManifest.xml
├── Greeter.java
├── MainActivity.java
└── res
├── layout
│ └── activity_main.xml
└── values
├── colors.xml
└── strings.xml
初始化项目工作区
创建WORKSPACE文件
并在WORKSPACE文件中加入以下内容:
android_sdk_repository(name = "androidsdk")
android_sdk_repository(
name = "androidsdk",
path = "D:/Tools/Android/sdk",
api_level = 28,
build_tools_version = "28.0.0"
)
请注意把对应的path改成你自己sdk的目录。build_tools_version可参考sdk/build-toos/目录下的文件夹来,下图是我的:
创建BUIL文件
创建文件src/main/java/com/example/bazel/BUILD,并加入以下内容:
package(
default_visibility = ["//src:__subpackages__"],
)
android_library(
name = "greeter_activity",
srcs = [
"Greeter.java",
"MainActivity.java",
],
manifest = "AndroidManifest.xml",
resource_files = glob(["res/**"]),
)
创建文件src/main/BUILD,并加入以下内容:
android_binary(
name = "app",
manifest = "AndroidManifest.xml",
deps = ["//src/main/java/com/example/bazel:greeter_activity"],
)
编译app
bazel build //src/main:app
如果没有报错,说明app已经编译出来了。如果报错则根据错误信息定位问题。
你可以手动查看这个app:
安装app
用USB连接好手机,然后执行:
bazel mobile-install //src/main:app
如果没有报错就是安装成功了。
在手机桌面找到对应图标并启动:
参考https://docs.bazel.build/versions/master/tutorial/android-app.html