Android Studio在Gradle中调用cmd脚本

14 篇文章 0 订阅
14 篇文章 0 订阅

Gradle中调用cmd

需要在Gradle编译时,调用某些脚本进行文件操作,比如:头文件更新,或者动态链接库文件的更新等,需要借助脚本文件,并且不需要手动运行,那么如何使用Gradle呢?

如下代码可以实现在执行Gradle编译时连续运行两条命令:

 exec {
            workingDir '../'
            commandLine 'cmd', '/c', 'cmd_01.cmd && ' +  'cmd_02.cmd '+ Parameter
        }

其中:

Parameter为cmd_02.cmd的参数,连续多条命令使用 && 连接;

workingDir为基于当前脚本的相对运行路径;

AS中编写CMD

在实际开发中,时常需要编写脚本进行文件操作,现在以一个文件拷贝替换的例cmd_02.cmd子进行说明:

@echo off
rem SET YOUR LOCAL VAR:
rem  0 : debug_ver_1 \ 1 : debug_ver_2 \ 2 : release_ver_1 \ 3 : release_ver_2
set VERSION_TYPE=%1%

if %VERSION_TYPE% equ 0 (
echo 835_debug version!
goto debug_ver_1
)

if %VERSION_TYPE% equ 1 (
echo 835_release version!
goto debug_ver_2
)

if %VERSION_TYPE% equ 2 (
echo 845_debug version!
goto release_ver_1
)

if %VERSION_TYPE% equ 3 (
echo 845_release version!
goto release_ver_2
)

:debug_ver_1
xcopy %CD%\app\src\main\libs_debug\libtest_01.so %CD%\app\src\main\cpp\testJNI\armeabi-v7a /y || goto ERROR_COPY
xcopy %CD%\app\src\main\libs_debug\libtest_02.so %CD%\app\src\main\cpp\testJNI\armeabi-v7a /y || goto ERROR_COPY
echo all libs updated
exit /b 0

:debug_ver_2
xcopy %CD%\app\src\main\libs_debug\libtest_03.so %CD%\app\src\main\cpp\testJNI\armeabi-v7a /y || goto ERROR_COPY
xcopy %CD%\app\src\main\libs_debug\libtest_04.so %CD%\app\src\main\cpp\testJNI\armeabi-v7a /y || goto ERROR_COPY
echo all libs updated
exit /b 0

:release_ver_1
xcopy %CD%\app\src\main\libs_release\libtest_01.so %CD%\app\src\main\cpp\testJNI\armeabi-v7a /y || goto ERROR_COPY
xcopy %CD%\app\src\main\libs_release\libtest_02.so %CD%\app\src\main\cpp\testJNI\armeabi-v7a /y || goto ERROR_COPY
echo all libs updated
exit /b 0

:release_ver_2
xcopy %CD%\app\src\main\libs_release\libtest_01.so %CD%\app\src\main\cpp\testJNI\armeabi-v7a /y || goto ERROR_COPY
xcopy %CD%\app\src\main\libs_release\libtest_02.so %CD%\app\src\main\cpp\testJNI\armeabi-v7a /y || goto ERROR_COPY
echo all libs updated
exit /b 0

:ERROR_COPY
echo failed to update libs
exit /b 0

其中:

set VERSION_TYPE=%1%

即表示在运行时会接受一个外部参数作为命令内的条件分支。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值