您的位置:首页 > 移动开发

Android中操作App的一些常用方法

2017-08-24 11:32 337 查看

1.判断App是否安装

private boolean isAppInstalled(Context context, String uri) {
PackageManager pm = context.getPackageManager();
boolean installed = false;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
installed = true;
} catch (PackageManager.NameNotFoundException e) {
installed = false;
}
return installed;
}

2. public boolean isAppInstalled(Context context, String packageName) {
        final PackageManager packageManager = context.getPackageManager();
        List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);
        List<String> pName = new ArrayList<String>();
        if (pinfo != null) {
            for (int i = 0; i < pinfo.size(); i++) {
                String pn = pinfo.get(i).packageName;
                pName.add(pn);
            }
        }
        return pName.contains(packageName);
    }

例子:

if (isInstallApp(MainActivity.this, "com.xxx")) {
                    System.out.println("Installed!!");
                } else {
                    System.out.println("Not installed!!");
                }
                

2.App请求root权限

Process process = null;
DataOutputStream os = null;
try {
String cmd = "chmod 777 " + getPackageCodePath();
process = Runtime.getRuntime().exec("su"); // 切换到root帐号
os = new DataOutputStream(process.getOutputStream());
os.writeBytes(cmd + "\n");
os.writeBytes("exit\n");
os.flush();
process.waitFor();
} catch (Exception e) {
// return false;
} finally {
try {
if (os != null) {
os.close();
}
process.destroy();
} catch (Exception e) {
}
}

3.App实现静默安装

http://blog.csdn.net/androidstarjack/article/details/50349999

http://www.jb51.net/article/78463.htm

http://blog.csdn.net/h3c4lenovo/article/details/9202323

4.查看apk信息,keystore或者jks信息

1、查看 keystore 

$ keytool -list -v -keystore debug.keystore

$ keytool -list -v -keystore debug.keystore 

Enter keystore password:

2、查看三方应用或是系统应用签名

打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件

$ keytool -printcert -file META-INF/CERT.RSA
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: