android靜默卸載
❶ 騰訊手機管家 流氓 你敢不靜默安裝嗎 求完全卸載的方式
您好,親愛的管家用戶
卸載方法:打開管家路徑(一般為C:\Program Files (x86)\Tencent\QQPCMgr),在此文件夾下找到QQPCB1AndroidJmp文件夾,進入雙擊uninstall.exe即可卸載手機管家。
感謝您對騰訊手機管家的支持!
❷ android N 內置可卸載app
方法一
直接使用Intent卸載
Uri uri = Uri.fromParts("package", "com.example.demo", null);
Intent intent = new Intent(Intent.ACTION_DELETE, uri);
startActivity(intent);123
這是最簡單的方式,調用卸載方法系統會彈出卸載APP對話框,點擊確定就會立即卸載,不需要額外許可權
方法二
使用PackageManager靜默卸載
谷歌認為該方法是不安全的行為,因此該介面是@hide的,不是公開的介面,調用此介面需要有系統簽名和相應的系統級許可權
具體來說就是需要
<uses-permission android:name="android.permission.DELETE_PACKAGES"/>許可權,但<uses-permission android:name="android.permission.DELETE_PACKAGES"/>是系統級許可權,普通APP根本無法獲取到,如果在AndroidManifest.xml強行加入該許可權編譯也不會通過
唯一的辦法就是使用APK反編譯工具在Android Studio之外修改許可權,比如用apktool反編譯工具先把apk文件解壓出來,用編輯器在AndroidManifest.xml中加入上面的兩個許可權,然後在用工具apktool重新打包
獲得<uses-permission android:name="android.permission.DELETE_PACKAGES"/>許可權後,定義PackageDeleteObserver實現類,實現packageDeleted方法
private class PackageDeleteObserver extends IPackageDeleteObserver.Stub {
private int position;
private int mFlag;
public PackageDeleteObserver(int index, int flag) {
position = index;
mFlag = flag;// 0卸載1個包,1卸載N個包 N>1
}
@Override
public void packageDeleted(String arg0, int arg1)
throws RemoteException {
// TODO Auto-generated method stub
Message msg;
msg = mHandle.obtainMessage();
msg.what = FLAG_DELETE_VIRUS;
msg.arg1 = position;
msg.arg2 = mFlag;
msg.sendToTarget();
}
}
獲取PackageManager 對象,調用deletePackage方法
PackageManager pkgManager = mContext.getPackageManager();
PackageDeleteObserver observer = new PackageDeleteObserver(currVirus, 1);
pkgManager.deletePackage(pakName, observer, 0); 123
最後,還需要進行系統簽名才能使用
對apk進行系統簽名:
java -jar signapk.jar platform.x509.pem platform.pk8 test.apk test_signed.apk1
將簽名之後的文件 push到手機中,需要root許可權
方法三
通過pm命令方式實現靜默卸載
該方法直接對Android系統執行卸載命令,需要root許可權
//pm命令可以通過adb在shell中執行,同樣,我們可以通過代碼來執行 public static String execCommand(String... command) {
Process process = null;
InputStream errIs = null;
InputStream inIs = null;
String result = ""; try {
process = new ProcessBuilder().command(command).start();
ByteArrayOutputStream baos = new ByteArrayOutputStream(); int read = -1;
errIs = process.getErrorStream(); while ((read = errIs.read()) != -1) {
baos.write(read);
}
inIs = process.getInputStream(); while ((read = inIs.read()) != -1) {
baos.write(read);
}
result = new String(baos.toByteArray()); if (inIs != null)
inIs.close(); if (errIs != null)
errIs.close();
process.destroy();
} catch (IOException e) {
result = e.getMessage();
} return result;
}222324252627282930
執行卸載命令
execCommand("pm","uninstall", "packageName");1
編譯生成apk時,要在manifest文件下添加Android:sharedUserId=」android.uid.system」
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xieyuan.mhfilemanager"
android:versionCode="1"
android:versionName="1.0"
android:installLocation="internalOnly"
android:sharedUserId="android.uid.system" >
❸ 如何將android studio卸載干凈
1、首先需要先打開Android studio開發軟體工具,進行到界面中,就可以點擊菜單中的file的選項。2、在彈出的下拉的菜單中,可以直接選中「project structure」的選項。3、這樣就直接進入到project structure,需要moles的選項中進行選中一個項目。4、進入到選中的項目中後,就可以直接點擊dependencies的選項。5、在列表可以看到已添加的依賴的模塊,選中要刪除的模塊,然後點擊右側的位置當中的「-」即可完成刪除。6、而Android studio的項目已添加的模塊需要手動進行刪除,找到這個模塊的文件,進行右鍵》》delete。7、對刪除的模塊進行再次的確認的信息,可以直接點擊「delete」選項,就完成了刪除模塊的操作。
❹ android 靜默卸載應用需要root許可權嗎
一般系統自帶的應用是自帶授權,不需要root的情況下即有許可權靜默安裝應用,但是第三方應用必須在獲取系統授權的情況下才能靜默安裝或者卸載應用程序,一般來說是需要root許可權的
❺ android怎麼實現卸載本應用然後發送信息到伺服器
卸載之後肯定不能再發送信息了,不過有2個解決方法,一個是用另外一個程序監控你自己的程序,卸載就發消息,這不估計不行。另一個就是程序定時向伺服器報道,如果超過某個時限沒有報道就視為卸載了。
❻ android系統怎麼卸載自帶軟體
安裝ROOT,授權管理,系統軟體清道夫這三個軟體就可以卸載了
❼ 如何永久性的卸載Android自帶的應用
可以root手機然後用第三方軟體刪除系統自帶應用
root推薦:kingroot
但是root對手機有一定的弊端(自己網路)
不root的話可以通過停用系統應用來讓這個應用不再佔用運行內存(但是仍能恢復,仍佔用系統儲存空間)
❽ 如何將Android Studio卸載干凈
刪除就好了,綠色軟體
❾ android如何實現靜默安裝哦
原理
靜默安裝、卸載的原理就是利用pm install命令來安裝apk,pm uninstall 來卸載apk.
智能安裝是利用android系統提供的無障礙服務AccessibilityService,來模擬用戶點擊,從而自動安裝.
//靜默安裝
privatevoidinstallSlient(){
Stringcmd="pminstall-r/mnt/sdcard/test.apk";
Processprocess=null;
DataOutputStreamos=null;
BufferedReadersuccessResult=null;
BufferedReadererrorResult=null;
StringBuildersuccessMsg=null;
StringBuildererrorMsg=null;
try{
//靜默安裝需要root許可權
process=Runtime.getRuntime().exec("su");
os=newDataOutputStream(process.getOutputStream());
os.write(cmd.getBytes());
os.writeBytes(" ");
os.writeBytes("exit ");
os.flush();
//執行命令
process.waitFor();
//獲取返回結果
successMsg=newStringBuilder();
errorMsg=newStringBuilder();
successResult=newBufferedReader(newInputStreamReader(process.getInputStream()));
errorResult=newBufferedReader(newInputStreamReader(process.getErrorStream()));
Strings;
while((s=successResult.readLine())!=null){
successMsg.append(s);
}
while((s=errorResult.readLine())!=null){
errorMsg.append(s);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(os!=null){
os.close();
}
if(process!=null){
process.destroy();
}
if(successResult!=null){
successResult.close();
}
if(errorResult!=null){
errorResult.close();
}
}catch(Exceptione){
e.printStackTrace();
}
}
//顯示結果
tvTest.setText("成功消息:"+successMsg.toString()+" "+"錯誤消息:"+errorMsg.toString());
}