aapt获取apk信息存储mysql

表结构:

CREATE TABLE IF NOT EXISTS `apk_info` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '日志编号',
  `version_code` varchar(200) NOT NULL COMMENT '版本号',
  `package_md5` varchar(100) NOT NULL COMMENT '包文件的md5值',
  `package_name` varchar(100) NOT NULL COMMENT '包名称',
  `version_name` varchar(20) NOT NULL COMMENT '版本名',
  `sdk_version` varchar(20) NOT NULL COMMENT '最小SDK版本',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='获取APK信息' AUTO_INCREMENT=8 ;

aapt可以在这里下载:http://blog.phpfs.com/archives/2104.html

#!/bin/bash
#####
# 获取APK信息并保存到MYSQL数据库
#####
#mysql配置
HOST='localhost'
PORT=3306
USERNAME='root'
PASSWORD='Joyous'
DB='apk'
#获取APK信息
logname=/home/joyous/joyous/scripts/study/temp.log
/home/joyous/joyous/scripts/study/aapt d badging ${1} >${logname}
if [ -f "$logname" ]; then
    #包名
    NAME=`grep "package" ${logname}|awk -F"'" '{print $2}'`
    isversionCode=`grep "versionCode" ${logname}|awk -F"'" '{print $3}'|grep versionCode |wc -l` 
    if [ "$isversionCode" -eq 1 ];then
        VERSIONCODE=`grep "versionCode" ${logname}|awk -F"'" '{print $4}'`
    fi
    isversionCode=`grep "versionCode" ${logname}|awk -F"'" '{print $5}'|grep versionCode |wc -l` 
    if [ "$isversionCode" -eq 1 ];then
        VERSIONCODE=`grep "versionCode" ${logname}|awk -F"'" '{print $6}'`
    fi
    isversionName=`grep "versionName" ${logname}|awk -F"'" '{print $3}'|grep versionName |wc -l`  
    if [ "$isversionName" -eq 1 ];then
        VERSIONNAME=`grep "versionName" ${logname}|awk -F"'" '{print $4}'`
    fi
    isversionName=`grep "versionName" ${logname}|awk -F"'" '{print $5}'|grep versionName |wc -l`  
    if [ "$isversionName" -eq 1 ];then
        VERSIONNAME=`grep "versionName" ${logname}|awk -F"'" '{print $6}'`
    fi
    SDKVERSION=`grep "sdkVersion" ${logname}|awk -F"'" '{print $2}'`

    PACKMD5=`md5sum $1|cut -d ' ' -f1`
    insert_sql="insert into apk_info (version_code,package_md5, package_name,version_name,sdk_version) VALUES ('${VERSIONCODE}','${PACKMD5}','${NAME}','${VERSIONNAME}','${SDKVERSION}')"
    echo ${insert_sql}
    res=(`/usr/bin/mysql -h ${HOST} -u ${USERNAME} -P ${PORT} -p${PASSWORD} -e "use ${DB};${insert_sql}"`)
fi   

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

虚拟专用数据库VPD应用 (48天)

系统中有个需求,需要把一个表里的信用卡号字段进行权限管理,大家讨论再三,说TDE不太好,因为需求希望能够让有些用户可以访问这个表,但是卡号字段读不到东西。有些用...

29540
来自专栏白驹过隙

MySQL - MySQL++在c++11环境下接口设计

13950
来自专栏Aloys的开发之路

oracle表空间表分区详解及oracle表分区查询使用方法(转+整理)

此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5...

59090
来自专栏用户2442861的专栏

基于Spring + Spring MVC + Mybatis 高性能web构建

http://blog.csdn.net/zoutongyuan/article/details/41379851#comments

22810
来自专栏乐沙弥的世界

批量生成sqlldr文件,高速卸载数据

      SQL*Loader 是用于将外部数据进行批量高速加载的数据库的最高效工具,可用于将多种平面格式文件加载到Oracle数据库。SQL*Loader支...

21120
来自专栏杨建荣的学习笔记

基于DB time的调优分析 (r6笔记第79天)

继昨天使用DB time能够快速灵活的定位sql语句之后,发现分析问题更快捷,高效了。今天就牛刀小试,把一个数据库从500%的负载调到不到100%的负载。前提是...

31440
来自专栏布尔

游标清除重复数据

有时候导数据会把数据导重,需要根据某些信息清除掉重复数据,同学做信息机业务的,不小心把用户信息导重复了,造成不能发短信。我帮他写了个游标来清理重复数据。memb...

206100
来自专栏数据和云

书接上文:薛定谔的猫是如何诞生的?

编辑手记:注重细节,是DBA必要的基本素质要求。 书接上文(参考:空与非空 - 数据库中也有薛定谔的猫?),其实CBO的判断本身是没有问题的,问题在于,为什...

320100
来自专栏乐沙弥的世界

Oracle大表清理truncate .. reuse storage

a、通过上述测试,当使用reuse storage与普通方式并无明显差异 b、truncate table 是ddl操作,无法回滚 c、尽管无明显性能差...

15340
来自专栏数据和云

循序渐进:Oracle 12.2的Sharding基础概念解读

张大朋(Lunar)Oracle 工程师 Lunar 拥有超过十年的 ORACLE SUPPORT 从业经验,曾经服务于ORACLE ACS部门,现就职于 O...

32140

扫码关注云+社区

领取腾讯云代金券