zoukankan      html  css  js  c++  java
  • Shell脚本 | 安卓应用权限检查

    现在 Google Play 对应用权限的管理非常严格,之前公司内有个版本就是因为新增了四个权限导致停灰处理。所以,在每个版本发布之前很有必要检查一下是否有新增权限。

    安卓应用请求的所有权限可以通过 aapt 命令查看:

    在拿到应用的权限列表后,即可对比两个版本的权限是否有变化,新增加或者新减少。

    脚本如下:

    #!/usr/bin/env bash
    
    #清空上次运行后产生的文件
    if [[ -f permission_old.txt ]]; then
        rm permission_old.txt permission_new.txt
    fi
    
    #读取apk文件地址
    read -p "请输入上个版本apk文件存放地址:" apk_old
    read -p "请输入最新版本apk文件存放地址:" apk_new
    
    #aapt命令解析apk,输出权限到文件
    aapt d badging ${apk_old} | grep "uses-permission:" | awk -F "'" '{print $2}' > permission_old.txt
    aapt d badging ${apk_new} | grep "uses-permission:" | awk -F "'" '{print $2}' > permission_new.txt
    
    #遍历新版本权限列表,对比旧版本权限列表是否相同,不同则为新增
    for x in $(cat permission_new.txt); do
        if cat permission_old.txt | grep ${x} > /dev/null; then
            echo "hello, world" > /dev/null
        else
            echo ${x} >> permission_increase.txt
        fi
    done
    
    #遍历旧版本权限列表,对比新版本权限列表是否相同,不同则为新减少
    for y in $(cat permission_old.txt); do
        if cat permission_new.txt | grep ${y} > /dev/null; then
            echo "hello, world" > /dev/null
        else
            echo ${y} >> permission_decrease.txt
        fi
    done
    
    #判断permission_increase.txt是否存在:存在,输出新增权限提醒;不存在,输出无新增权限
    if [[ ! -f permission_increase.txt ]]; then
        echo "无新增权限"
    else
        echo "新增权限:"
        cat permission_increase.txt
        #删除新增权限文件
        rm permission_increase.txt
    fi
    
    #判断permission_decrease.txt是否存在:存在,输出新减少权限提醒;不存在,输出无新减少权限
    if [[ ! -f permission_decrease.txt ]]; then
        echo "无新减少权限"
    else
        echo "新减少权限:"
        cat permission_decrease.txt
        #删除新减少权限文件
        rm permission_decrease.txt
    fi
    

    运行示例:


    欢迎关注微信公众号"测试开发Stack"

  • 相关阅读:
    Java并发编程:volatile关键字解析
    多线程之指令重排序
    《paste命令》-linux命令五分钟系列之二十
    《cut命令》-linux命令五分钟系列之十九
    《ln命令》-linux命令五分钟系列之十八
    Clone Graph
    House Robber
    《wc》-linux命令五分钟系列之十七
    who am i
    《man男人》-linux命令五分钟系列之十五
  • 原文地址:https://www.cnblogs.com/liushengchieh/p/10750701.html
Copyright © 2011-2022 走看看