April 18, 2020 6:54 AM - BEAUTIFULZZZZ
目录
0 前言
1 gradle 安装配置
1.1 卸载系统默认装的 gradle
1.2 下载对应版本的二进制文件
1.3 配置 gradle:
1.4 检查配置
1.5 gradle 命令行操作
2 全自动脚本编写
2.1 自动构建安卓开发环境
2.2 编译, 运行, 清除
3 效果展示
LINKS
.
0 前言
在上上篇《[编译] 5, 在 Linux 下搭建安卓 App 的开发烧写环境 (makefile 版)-- 在 Linux 上用命令行 + VIM 开发安卓 App》中我写了一个基于 VIM(记事本) 开发安卓 App 的介绍, 并且用类似的方法开源了很多小 DEMO:
[01] HelloAndroid: hello world demo
[02] BluetoorhScan: bluetooth scan + surface(canvas) + handler + bundle
[03] FlyGame: surface(canvas) + fly game demo
[04] ListView: ListView DIY demo
[05] GridView: GridView DIY demo
[06] TuyaMeshTest: ble scan(fast scan) + textview
[07] SmartStepCounter: bluetooth scan connect read + line chart
[08] SmartFan: bluetooth scan connect write
GitHub: https://github.com/nbtool/android_app_linux_tool
但是随着工程越来越复杂, 采用 java,aapt 去操作使全自动 run.sh 脚本越来越难写(特别是有些 lib 库很难找准, 有些 lib 除了库之外还有资源文件, 就更复杂了), 因此, 这里引入一个更先进的工具: gradle.
本文主要介绍 gradle 的安装, 命令行的用法, 给出一个基于 gradle 的全自动脚本 run.sh, 以及一个小 DEMO(这里的全自动是: 全自动构建安卓开发环境, 全自动编译安装运行到设备)
1 gradle 安装配置
1.1 卸载系统默认装的 gradle
- sudo pacman -R gradle
- .
1.2 下载对应版本的二进制文件
gradle 所有版本的下载地址: https://gradle.org/releases/
- Downloads wget https://downloads.gradle-dn.com/distributions/gradle-2.14.1-bin.zip
- Downloads unzip gradle-2.14.1-bin.zip
- Downloads cd gradle-2.14.1
- gradle-2.14.1 pwd
- /home/btfz/Downloads/gradle-2.14.1
- .
1.3 配置 gradle:
注: 看文件夹下的 getting-started.html 文件
- export GRADLE_HOME=/home/btfz/Downloads/gradle-2.14.1
- export PATH=$PATH:$GRADLE_HOME/bin
- .
1.4 检查配置
在工程根目录的 SDK Location 配置文件 local.properties 中:
将 sdk.dir=D\:\\develop\\AndroidSDK 改为自己系统正确的样子: sdk.dir=/home/btfz/Android/Sdk
在工程根目录的 Project 配置文件 build.gradle 中:(暂不需要修改)
在工程根目录向里进一层的目录的 Module 配置文件 build.gradle 中:
将诸如 SDK 和编译工具的版本写成对应的版本:
- Android {
- compileSdkVersion 28
- buildToolsVersion "28.0.3"
对应关系如下:
.
1.5 gradle 命令行操作
gradle -v 查看当前 gradle 版本
gradle clean 将会去下载 gradle 的一些依赖包
gradle build 编译生成 apk
注: 有时候直接用 build 打包会报错, 因为要配置一些打包相关的东西, 如果调试用, 可以先用: gradle assembleDebug 编译并打 Debug 包, 不要用 gradle assembleRelease 编译并打 Release 的包(后续会写为什么用 build 和打 release 不行).
2 全自动脚本编写
2.1 自动构建安卓开发环境
判断是否有 Android SDK, 如果没有, 则下载一个 Android SDK;
下载好 Android SDK 后, 可以利用其中的 SDKMANAGER 工具, 安装 platforms 和 build-tools(这两个有很多个版本, 找到适合自己的);
判断对应版本的 gradle 是否存在, 如果不存在, 则从远端下载对应版本;
- function tool(){
- #export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
- if [ ! -d $ANDROID_SDK_PATH ]; then
- #download tool
- echo "> download tool...."
- wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
- mkdir -p $ANDROID_SDK_PATH
- unzip sdk-tools-Linux-3859397.zip -d $ANDROID_SDK_PATH
- rm -rf sdk-tools-Linux-3859397.zip
- sudo chmod 777 -R $ANDROID_SDK_PATH
- fi
- #install sdk build-tools platform
- echo "> install sdk build-tools platform...."
- echo $SDKMANAGER
- $SDKMANAGER "platform-tools" "platforms;android-$ANDROID_PLATFORM_VERSION"
- $SDKMANAGER "platform-tools" "build-tools;$ANDROID_BUILD_TOOLS_VERSION"
- $SDKMANAGER --list
- if [ ! -d $GRADLE_PATH ];then
- #download gredle
- echo "> download gredle..."
- wget https://downloads.gradle-dn.com/distributions/gradle-$GRADLE_VERSION-bin.zip
- unzip gradle-$GRADLE_VERSION-bin.zip -d $TOOL_PATH
- rm -rf gradle-$GRADLE_VERSION-bin.zip
- fi
- }
- .
2.2 编译, 运行, 清除
借助于 gradle, 实现编译, 清除比较方便, 写入设备还是用 adb:
- function build(){
- export GRADLE_HOME=$GRADLE_PATH
- export PATH=$PATH:$GRADLE_HOME/bin
- gradle clean
- gradle assembleDebug
- }
- function clean(){
- echo "Cleaning..."
- rm -rf build
- rm -rf $PROJECT_ROOT/example/$PROJECT_NAME/$MODULE_NAME/build
- }
- function program(){
- echo "Launching..."
- adb install -r $APK_PATH/*.apk
- adb shell am start -n com.telink.lt/.ui.AdvDeviceListActivity
- }
3 效果展示
: 本项目的 GitHub 关注起来 https://github.com/nbtool/android_app_linux_tool~
大家觉得不错, 可以点推荐给更多人~
LINKS
[1].Android Studio 命令行 Gradle 编译
[[2].BLE_826X_Generic]]#2 http://forum.telink-semi.cn/viewtopic.php?f=7&t=55
[3].21,Android studio 疑难杂症
来源: https://www.cnblogs.com/zjutlitao/p/12723855.html