android 靜默安裝


倒騰一下午,終於搞定了android的靜默安裝 步驟如下

1、 Manifest 配置

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <uses-permission android:name="android.permission.INSTALL_PACKAGES" />

    <uses-permission android:name="android.permission.DELETE_PACKAGES" />

    <uses-permission android:name="android.permission.CLEAR_APP_CACHE" />

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

    <uses-permission android:name="android.permission.CLEAR_APP_USER_DATA" />
android:sharedUserId="android.uid.system"

2、安裝代碼

 private String install(String apkAbsolutePath)
    {
        String[] args = {
                "pm", "install", "-f", apkAbsolutePath
        };
        String result = "";
        ProcessBuilder processBuilder = new ProcessBuilder(args);
        Process process = null;
        InputStream errIs = null;
        InputStream inIs = null;

        try
        {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            int read = -1;
            process = processBuilder.start();
            errIs = process.getErrorStream();
            while ((read = errIs.read()) != -1)
            {
                baos.write(read);
            }
            
            inIs = process.getInputStream();
            while ((read = inIs.read()) != -1)
            {
                baos.write(read);
            }
            byte[] data = baos.toByteArray();
            result = new String(data);
        } catch (Exception e)
        {
            // TODO: handle exception
        }

        return result;

    }

3 簽名生成apk 

4 將生成apk和幾個權限文件放在同一文件夾 

   用rar打開apk,將META-INF目錄下,將CERT.SF和CERT.RSA這兩個文件刪除掉

5 執行命令

java -jar signapk.jar platform.x509.pem platform.pk8 原apk.apk 目標apk.apk

卸載也是同樣pm uninstall命令 

 

參考:http://blog.sina.com.cn/s/blog_456baf5e0101374i.html

http://bbs.51cto.com/thread-968264-1.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM