Android 项目在编译时使用 CMD 命令

在Android开发中,通过在Android Studio创建CMD脚本,并在gradlew.bat文件中调用xcopy命令,可以在编译时自动复制资源文件,避免手动操作。这种方法在编译时可能中断运行,但直接在gradlew.bat中添加命令可以解决这个问题。Eclipse中也有类似配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做项目开发的,有时可能会遇到 一些资源文件更新的问题,为了避免每次编译或打包时,手动copy的麻烦,最后的办法就是编写一个命令脚本,用命令去copy,这样就方便多了。

这里介绍一下,用cmd 命令copy的用法:
在Android Studio 中,首先新建一个cmd文件,右键项目 –> new –> cmd script.
如下:
这里写图片描述
或者也可以在外部用记事本写好命令,再更改后缀名为.cmd
(xxx.cmd 文件应该放在跟目录下!!!)

这里写图片描述

然后是使用的地方:
同样在根目录下,gradlew.bat 文件中,找到 “:execute”这个关键字。
这里写图片描述

这样就OK了,在编译时就会自动执行该命令。

但是,这样的话,当编译时执行完这条命令后,会中断停止运行,不会继续往下执行下面语句。
怎么办呢?不如直接把需要执行的命令,直接放在这里就好了。
(注:网上查了很多相关资料,很少关于这种方法的介绍,这是目前能想到的,将就一下.如果有知道更好办法的,欢迎留言告知!)

xcopy D:\AS\test\assets D:\AS\Demo\app\src\main\assets /e /y

xcopy 【源文件】【目标文件】 (注:xcopy 命令,/e 是复制所有子目录,包括空目录, /y 是覆盖现有文件,/a是复制文件,/f
复制时显示完整的源和目标文件名)

Eclipse 中比较简单:
右击项目 –>properties (alt+enter) –> Builders –> new –>program –>输入你的批处理文件,工程目录 就可以了。具体看下图:
这里写图片描述

最后,贴一下 xcopy 命令的基本使用语法(这里只介绍xcopy命令,如果要有其他命令的话,百度一下吧):
其语法为:

XCOPY source [destination] [/Y][/-Y] [/A | /M] [/D[:date]] [/P] [/S
[/E]] [/W][/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U][/K] [/N]

  参数介绍:

/A 拷贝文件,但不改变文件的存档属性。

  /M 拷贝文件,同时关闭文件的存档属性。
  /D: 拷贝指定日期以后文件。如果没有给出指定日期,仅拷贝比目标文件更新的文件。
  /P 在建立每一目标文件时进行提醒。
  /S 拷贝当前目录和所有子目录下的所有文件,但不包括空目录。
  /E 拷贝当前目录和所有子目录下的所有文件,同时也包括空目录。
  /W 在拷贝文件前提示你按任意键确认。
  /C 即使有错误发生也继续拷贝。
  /Q 在拷贝文件时不显示文件名。
  /F 在拷贝时显示所有源文件和目标文件名。
  /L 显示被拷贝的文件。
  /H 拷贝隐含文件和系统文件。
  /R 覆盖只读文件。
  /T 建立目录,但不拷贝文件,但不包括空目录和空的子目录。
  /T /E 命令包括空的目录和子目录。
  /U 更新已经存在的目标文件。  
  /K 拷贝文件属性。一般来说XCOPY命令将重置只读文件属性。
  /Y 不给出提示信息直接覆盖已经存在的文件。
  /-Y 在覆盖已经存在的文件时给出提示信息。
  /N 拷贝短文件名,即8.3格式的文件。

  比如要将d:\xly下所有文件备份到e:\xly1,可以使用如下命令:
  xcopy d:\xly\*.*/s/h e:\xly1

  又比如,要恢复e:\xly1下2006年6月1日以后的文件至D:\xly,就可使用如下命令:
  xcopy e:\xly1\*.*/s/h/d:2006-06-01 d:\xly
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值