嘉兴娱乐:[编译] 7、在Linux下搭建安卓APP的开发烧写环境(makefile版-gradle版)—— 在Linux上用命令行+VIM开发安卓APP

2020-04-18 28 views 0

扫一扫用手机浏览

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
[3].21、android studio 疑难杂症

,

Sunbet

www.ysycy.com与伊顺源清真餐饮达成战略合作,在伊顺及亚太地区建立直营平台。为Sunbet会员提供线上多种娱乐游戏,将用完善的技术、贴心的服务、雄厚的资金赢取每位Sunbet代理、会员的口碑。

Sunbet内容转载自互联网,如有侵权,联系Sunbet删除。

本文链接地址:http://www.18hao-soso.com/post/1265.html

相关文章