zoukankan      html  css  js  c++  java
  • 枚举安装的应用并查询应用的包名和对应的APK文件路径

            // Iterate Android packages
            List<PackageInfo> packages = getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES |
                    PackageManager.GET_GIDS 
    | PackageManager.GET_CONFIGURATIONS |
                    PackageManager.GET_INSTRUMENTATION 
    | PackageManager.GET_PERMISSIONS |
                    PackageManager.GET_PROVIDERS 
    | PackageManager.GET_RECEIVERS |
                    PackageManager.GET_SERVICES 
    | PackageManager.GET_SIGNATURES);
            
    for (int i = 0; i < packages.size(); i++) {
                PackageInfo package_info 
    = packages.get(i);
                String package_name 
    = package_info.packageName;
                package_name 
    = package_name.trim().toLowerCase();
                Log.i(TAG, 
    "Got package: " + package_name);
                
    try {
                    ApplicationInfo app_info 
    = getPackageManager().getApplicationInfo(package_name,
                            PackageManager.GET_META_DATA 
    | PackageManager.GET_SHARED_LIBRARY_FILES);
                    Log.i(TAG, 
    "Package apk file path: " + app_info.sourceDir);
                } 
    catch (NameNotFoundException e) {
                    e.printStackTrace();
                }
            }

    当然,也可以硬来:

    // Iterate folder, this needs "root" privilege
    File root_dir = new File("/data/app");
    File[] files 
    = root_dir.listFiles();
    for (int i = 0; i < files.length; i++) {
        
    if (files[i].isFile()) {
            String filename 
    = files[i].getName();
            filename 
    = filename.trim().toLowerCase();
            Log.i(TAG, 
    "Got file under /data/app: " + filename);

    直接遍历/data/app或者/system/app目录。不过这就需要root权限,而且能取到的信息远远少于使用PackageManager。 

  • 相关阅读:
    分别用Excel和python进行日期格式转换成时间戳格式
    数据分析之数据质量分析和数据特征分析
    BP neural network optimized by PSO algorithm on Ammunition storage reliability prediction 阅读笔记
    Matlab的BP神经网络工具箱及其在函数逼近中的应用
    js 深拷贝+浅拷贝
    git fork了项目之后修改再push给项目
    微信小程序的开发学习(2)
    Django学习
    小程序的开发学习
    JavaScript-闭包理解
  • 原文地址:https://www.cnblogs.com/super119/p/1904323.html
Copyright © 2011-2022 走看看