Android实现gradle动态依赖打包

最近在工作中遇到一个需求,记录一下处理过程。

Android项目需要动态生成“项目名、程序图标、特定的标识符数据“,用户在web页面上填写打包的信息,然后后台打包生成apk文件。

1、利用gradle把apk信息通过参数传到打包环境,定义变量接收参数(def appName = project.getProperty("appName"))。

然后利用gradle的多渠道打包方式,把需要动态改变的信息赋值,例如:productFlavors{ app { resValue"string","app_name","${appName}" } },

注意:这样填写了以后string.xml文件就不能有app_name这个item,会造成多次定义。

2、把整个工程弄到生产环境,在local.properties配置文件中配置好sdk所在位置。

3、下载Android SDK解,包内只有一个tools目录, 需要我们使用命令将build-tools、platforms、platform-tools三个目录部分下载下来,

我们可以使用tools/bin/sdkmanager下载。

sdkmanager --install "build-tools;28.0.3",sdkmanager --install "platforms;android-28",sdkmanager --install "platform-tools"(版本根据项目版本而定)

4、然后利用服务器的Java代码调用sh命令,(sh gradlew assembleDebug -P appName=彩票云),每一个参数前面都需要加 -P,执行该命令需要在项目根路径下。

5、在文件生成后把文件拿到文件服务器,做好关系映射。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值