android 通过命令行自动生成打包单webview应用安装包

之前在一个网站上见到这么一个功能:输入一个网址,这个网站会自动生成一个以该网址为首页的单webview的应用的安装包给你。自己试着捣鼓了一下,实现出来了,在这里分享一下。

基本原理是先安装好android studio的开发环境,打包用到的工具都是用现成的,然后建立一个基本的android单webview应用的项目,就是那种一打开就显示一个webview的简单项目,将这个项目作为模板项目。然后在这个项目的build.gradle中定义一个task,这个task能够接收命令行传入的参数如网址、app名称等,然后根据这些参数修改模板项目,最后自动生成证书证书,并打包生成安装包。


实现并不难,涉及了gradle和groove的知识,下面介绍一下。

项目源码 https://github.com/eeeyuerrrr/AutoGenApk ,可结合源码了解。

一、 模板项目

这个模板项目是个简单的单WebView应用,打开后显示启动图片n秒,然后就是一个Webview。项目中的app名字、图标、启动图、web网址等value写在res/value文件中,比如自己创建的一个config_args.xml。


<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">mAppName</string>
    <string name="web_home_url">http://www.sina.com</string>
    <drawable name="app_launcher">@mipmap/m_app_launcher</drawable>
    <drawable name="splash_img">@mipmap/m_splash_img</drawable>
</resources>

为了自动生成证书,在app module的 build.gradle中跟证书有关的参数写成从keystore_info.xml文件中读取,这个keystore_info .xml文件 是自己创建的,里面保存了跟证书有关的信息。



build.gralde

//从keystore_info.xml读取签名文件的信息
def keystoreFile = rootProject.file("keystore_info.xml")
def signInfo = new XmlParser().parse(keystoreFile)
android {
   ...

    //    签名
    signingConfigs {
        release {
//          证书文件
            storeFile file( signInfo.storeFile.text() )
//          证书库的密码
            storePassword signInfo.storePassword.text()
//          证书密码
            keyPassword signInfo.keyPassword.text()
//          别名
            keyAlias signInfo.keyAlias.text()
        }
    }


   ...
}


keystore_i

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值