• 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"

  • 相关阅读:
    使用Datagrip导入excel数据
    idea2020版本的lombok不能使用
    wait和notify
    死锁的原因
    synchronized关键字
    线程JOIN
    JSON解析精度丢失问题(net.sf.json)
    线程中断
    spring boot 2.0.0 + mybatis 报:Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required
    2、Dubbo源码解析--服务发布原理(Netty服务暴露)
  • 原文地址:https://www.cnblogs.com/liushengchieh/p/10750701.html
Copyright © 2020-2023  润新知