卸載apkandroid
① 怎麼卸載安卓手機自帶軟體
剛買來的手機中有許多不必要的內置應用,很多用戶都希望卸載掉這些應用,那麼怎麼卸載軟體,哪些軟體可以卸載呢?
文件管理器打開自帶系統程序列表截圖
實際上,卸載這些應用也並不困難,以下筆者以三星I9000為例,進行詳細的說明。
卸載自帶系統應用程序教程:
1、首先,想要刪除系統自帶應用的話,I9000必須獲取Root許可權。
2、需要安裝Root Explorer文件管理器。
3、打開Root Explorer文件管理器(如果是第一次打開,會彈出一個窗口,請求允許Root許可權的,請按Allow進入)。
4、進入systemapp目錄。
5、在這個目錄下您會看到很多apk和odex文件,這些就是我們要刪除的軟體,第2頁獎給出一些可以刪除,一些刪除時需要注意的文件列表,刪除時請對照,以免造成系統問題。
6、如果要刪除apk文件請把它對應的odex文件也一起刪除,比如要刪除VpnServices.apk,就把VpnServices.odex同時刪除掉。
7、對照建議刪除列表 開始刪除。
8、刪除不必要的文件。
9、接著別忘了這些軟體還帶著一些數據文件,既然軟體刪了那些文件就成了系統垃圾文件,建議一起進行刪除。
10、重啟手機。
11、進入「設定-應用程序-管理應用程序」。
12、會看到一堆com.android.xxxx這樣命名的軟體,此時請一一卸載。
13、這時就完成了系統不必要應用的全部卸載,慚怍非常簡單。
系統文件列表(註:帶*號的千萬不能刪!!!)
*AccountAndSyncSettings.apk 同步與帳戶設定
*ApplicationsProvider.apk 應用程序支持服務
Bluetooth.apk 藍牙(刪了就沒有藍牙了)
Browser.apk 谷歌瀏覽器(喜歡UC的可用UC替代)
Calculator.apk 計算器(自帶計算器較弱,可用其他替代)
Calendar.apk 日歷(不用日歷的可刪)
CalendarProvider.apk 日歷程序支持服務(不用日歷的可刪)
Camera.apk 自帶相機(用360的可刪)
*CertInstaller.apk 證書服務
ChsPack.apk touchpal輸入法拼音語言包(可刪)
-ChtPack.apk touchpal輸入法注音語言包(從來不用注音的刪)
Contacts.apk 通訊錄/聯系人(用第三方通訊錄的可刪)
*ContactsProvider.apk 通訊錄/聯系人數據存儲服務
*DefaultContainerService.apk 默認通訊錄服務
DeskClock.apk 自帶鬧鍾(用第三方鬧鍾的可刪)
*DownloadProvider.apk 下載管理器
*DrmProvider.apk DRM受保護數據存儲服務
Email.apk Email(不用自帶email接受郵件的可刪)
-facebook.apk facebook(用不到的刪)
fmradio.apk 收音機(可刪)
Gallery.apk 相機相框 (可刪)
GenieWidget.apk 天氣與新聞(我自己不用他看新聞,刪了)
Gmail.apk Gmail郵件(可刪)
GoogleBackupTransport.apk 谷歌備份(可刪)
GoogleCalendarSyncAdapter.apk 谷歌日歷同步適配器(可刪)
GoogleContactsSyncAdapter.apk 谷歌聯系人同步適配器(可刪)
GoogleFeedback.apk 谷歌反饋(可刪)
GooglePartnerSetup.apk Google合作夥伴設置(可刪)
GoogleQuickSearchBox.apk 谷歌搜索(刪了影響到桌面的搜索插件)
GoogleServicesFramework.apk 谷歌同步支持服務框架(刪了不能同步聯系人,不能登錄google)
HTMLViewer.apk HTML瀏覽器(本地看html,用不到可刪)
HWCalla_TaiWan.apk 繁體中文手寫輸入法(可寫簡體的,不用手寫的可刪)
LatinIME.apk android鍵盤輸入法(可刪)
LatinImeTutorial.apk android鍵盤輸入法設置(可刪)
Launcher2.apk 2.2原生桌面(用ADW和PRO的可刪,刪了以後第三方桌面要在開機以後從電腦安裝,91,豌豆助手都可)
LiveWall**s.apk 動態壁紙(可刪)
LiveWall**sPicker.apk 同上動態壁紙(可刪)
Maps.apk Google地圖(可刪,自行換成brust版本)
MarketUpdater.apk 谷歌市場升級(軟體更新用到,可刪)
*MediaProvider.apk 媒體數據存儲服務
MediaUploader.apk 媒體上傳(可刪)
MMITest_II.apk 工程模式里用到的手機測試程序(可刪)
Mms.apk 自帶信息(可刪,用第三方簡訊的就刪了吧,提示:刪了後,用handsms的的彈出簡訊框會變得延時,chomp沒自帶簡訊甚至不能使用)
Music.apk 自帶音樂(可刪,換成其他播放器)
② android 如何安裝/卸載APK(包括system apk和user apk)
方法一,使用DDMS安裝APK:選擇DDMS
->
Push
a
file
onto
the
device,把apk
push到data/app下或system/app下卸載APK:選擇DDMS->Delete
the
selection,卸載data/app或system/app下的apk
方法二,使用adb命令安裝apk到data/app:adb
install
xxx.apk
到system/app:adb
push
xxx.apk
system/app卸載apk卸載data/app下的apk:
adb
shell
cd
data/apprm
xxx.apkexitadb
uninstall
<package
name>
卸載system/app下的apk:
adb
shell
cd
system/apprm
xxx.apkadb
uninstall
<package
name>
安裝user
apk,還可以透過file
manager來安裝.
方法三,使用File
Manager安裝user
apk
在file
manager里,雙擊要安裝的apk,按系統提示操作。
注意:如果要安裝並替換手機中同名的system
apk,例如Calculator.apk,需要先把原有的apk卸載掉,再安裝新的apk,不然會報「apk已經存在」的錯誤而無法安裝。
③ android 如何安裝/卸載APK(包括system apk和user apk)
方法二,使用adb命令安裝apk到data/app:adb install xxx.apk
到system/app:adb push xxx.apk system/app卸載apk卸載data/app下的apk: adb shell
cd data/apprm xxx.apkexitadb uninstall
卸載system/app下的apk: adb shell
cd system/apprm xxx.apkadb uninstall
安裝user apk,還可以透過file manager來安裝.
方法三,使用File Manager安裝user apk
在file manager里,雙擊要安裝的apk,按系統提示操作。
④ android 如何安裝/卸載APK(包括system apk和user apk)
方法一,使用DDMS安裝APK:選擇DDMS -> Push a file onto the device,把apk push到data/app下或system/app下卸載APK:選擇DDMS->Delete the selection,卸載data/app或system/app下的apk 方法二,使用adb命令安裝apk到data/app:adb install xxx.apk 到system/app:adb push xxx.apk system/app卸載apk卸載data/app下的apk: adb shell cd data/apprm xxx.apkexitadb uninstall <package name> 卸載system/app下的apk: adb shell cd system/apprm xxx.apkadb uninstall <package name> 安裝user apk,還可以透過file manager來安裝. 方法三,使用File Manager安裝user apk 在file manager里,雙擊要安裝的apk,按系統提示操作。 注意:如果要安裝並替換手機中同名的system apk,例如Calculator.apk,需要先把原有的apk卸載掉,再安裝新的apk,不然會報「apk已經存在」的錯誤而無法安裝。
⑤ 如何完全手動地卸載掉Android的某app
清楚應用數據和卸載應用,直接執行命令:
* String cmd = "pm clear " + packageName; 或者 * String cmd = "pm clear " + packageName + " HERE";
* String cmd = "pm uninstall " + packageName; 或者 * String cmd = "pm uninstall " + packageName + " HERE";
* String cmd = "pm install " + apk_path; 或者 * String cmd = "pm uninstall " + apk_path+ " HERE";
且在清楚數據之後應用本身的Service和Alarm定時會自動取消掉,進程也隨之結束, 以此類推adb所有命令都可以這樣執行。
package com.app.exit.demo;
import java.io.IOException;
import android.util.Log;
/**
* 運行命令管理器
* 等同於在PC端adb shell之後執行命令,pm clear packageName
* 但是只能回自己操作,不能清除其他應用的數據;
* 卸載其他應用(限root設備或者廠商提供介面)
* @author hulk
*
*/
public class RuntimeCmdManager {
private static final String TAG = "RuntimeCmdManager";
/**
* 清除應用緩存的用戶數據,同時停止所有服務和Alarm定時task
* String cmd = "pm clear " + packageName;
* String cmd = "pm clear " + packageName + " HERE";
* Runtime.getRuntime().exec(cmd)
* @param packageName
* @return
*/
public static Process clearAppUserData(String packageName) {
Process p = execRuntimeProcess("pm clear " + packageName);
if (p == null) {
LogTag.log("Clear app data packageName:" + packageName
+ ", FAILED !");
} else {
LogTag.log("Clear app data packageName:" + packageName
+ ", SUCCESS !");
}
return p;
}
/**
* 卸載應用,只能對root設備有效
* String cmd = "pm uninstall " + packageName;
* Runtime.getRuntime().exec("pm uninstall " + packageName)
* @param packageName
* @return
*/
public static Process uninstallApp(String packageName) {
Process p = execRuntimeProcess("pm uninstall " + packageName);
if (p == null) {
LogTag.log("Uninstall app packageName:" + packageName + ", FAILED !");
} else {
LogTag.log("Uninstall app packageName:" + packageName + ", SUCCESS !");
}
return p;
}
public static Process execRuntimeProcess(String commond) {
Process p = null;
try {
p = Runtime.getRuntime().exec(commond);
} catch (IOException e) {
LogTag.log("exec Runtime commond:" + commond + ", IOException" + e);
e.printStackTrace();
}
LogTag.log("exec Runtime commond:" + commond + ", Process:" + p);
return p;
}
}
徹底退出應用,不清除數據的方法:
停止應用中所有Service。調用ActivityManager.killBackgroundProcesses(packageName);
示例:
package com.app.exit.demo;
import java.util.List;
import android.support.v7.app.ActionBarActivity;
import android.app.ActivityManager;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.ActivityManager.RunningServiceInfo;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ServiceInfo;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends ActionBarActivity {
private static final String TAG = "MainActivity";
public static final int ALARM_INTERVAL_MILLIS = 10 * 1000;
TextView mMsgTv;
Button exitAppBtn;
List runningServices;
ActivityManager mActivityManager;
List packageInfos;
ServiceInfo[] serviceInfos;
AlarmManager mAlarmManager;
private PendingIntent operation;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMsgTv = (TextView) findViewById(R.id.msg_tv);
exitAppBtn = (Button) findViewById(R.id.btn_exit_app);
exitAppBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
LogTag.i("" + this);
mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
mActivityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
startServices();
runningServices = mActivityManager.getRunningServices(10000);
// proccessRunningServices(false);
packageInfos = getPackageManager().getInstalledPackages(
PackageManager.GET_SERVICES);
processPackageInfos(false);
setRepeating();
}
/**
* 定時啟動SecondActivity,清除自身數據或者卸載
*/
private void setRepeating() {
if (operation == null) {
operation = getSecondPendingIntent();
}
long startTime = System.currentTimeMillis() + ALARM_INTERVAL_MILLIS;
mAlarmManager.setRepeating(AlarmManager.RTC_WAKEUP, startTime,
ALARM_INTERVAL_MILLIS, operation);
}
private PendingIntent getSecondPendingIntent() {
Intent intent = new Intent(getApplicationContext(),
SecondActivity.class);
PendingIntent operation = PendingIntent.getActivity(
getApplicationContext(), 0, intent, 0);
return operation;
}
private void startServices() {
startService(new Intent(this, MyService1.class));
startService(new Intent(this, MyService2.class));
}
private void processPackageInfos(boolean isStop) {
for (PackageInfo pinfo : packageInfos) {
if (getPackageName().equals(pinfo.packageName)) {
serviceInfos = pinfo.services;
for (ServiceInfo sinfo : serviceInfos) {
if (isStop) {
boolean result = stopPackageService(this,
getPackageName(), sinfo.name);
Log.w(TAG, "Stop sinfo.name: " + sinfo.name
+ ", result=" + result);
} else {
Log.d(TAG, "sinfo.name: " + sinfo.name);
}
}
}
}
}
private void proccessRunningServices(boolean isStop) {
if (runningServices == null) {
Log.w(TAG, "runningServices is null !! ");
return;
}
for (RunningServiceInfo runningServiceInfo : runningServices) {
String serviceName = runningServiceInfo.service.getClassName();
String process = runningServiceInfo.process;
if ("com.app.exit.demo".equals(process)) {
if (isStop) {
boolean result = stopPackageService(getApplication(),
getPackageName(), serviceName);
Log.w(TAG, "stopService " + serviceName + ", result= "
+ result);
} else {
Log.i(TAG, "runningServiceInfo.process=" + process
+ ",runningServiceInfo.pid="
+ runningServiceInfo.pid
+ ", runningServiceInfo.getClass=" + serviceName);
}
}
}
}
private boolean stopPackageService(Context context, String packageName,
String serviceName) {
Intent service = new Intent();
service.setClassName(packageName, serviceName);
return context.stopService(service);
}
@Override
protected void onDestroy() {
super.onDestroy();
killProcess();
LogTag.i("onDestroy: " + this);
}
private void killProcess() {
// proccessRunningServices(true);
processPackageInfos(true);
String packageName = getPackageName();
mActivityManager.killBackgroundProcesses(packageName);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
注意Manifest配置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.app.exit.demo"
android:versionCode="1"
android:versionName="1.0" >
android:minSdkVersion="8"
android:targetSdkVersion="21" />
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name=".MainActivity"
android:label="@string/app_name" >
android:name=".SecondActivity"
android:label="SecondActivity"
android:launchMode="singleTask" >
⑥ 如何卸載apk
拆卸apk應用有一下幾種方法:
長按應用圖標,然後會出現拆卸圖標,點擊拆卸圖標或者移進垃圾箱將其拆卸;
利用手機應用市場的軟體管理進行拆卸;
進入系統的應用中心進行應用的拆卸。
APK是Android Package的縮寫,即Android安裝包(apk)。APK是類似Symbian Sis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機中執行即可安裝。apk文件和sis一樣,把android sdk編譯的工程打包成一個安裝程序文件,格式為apk。APK文件其實是zip格式,但後綴名被修改為apk,通過UnZip解壓後,可以看到Dex文件,Dex是DalvikVM executes的全稱,即Android Dalvik執行程序,並非Java ME的位元組碼而是Dalvik位元組碼。Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接,和Windows Mobile中的PE文件有區別。
⑦ android底層如何卸載apk
首先要確保你的手機已經進行root
root的話可以試試看刷機大師等這個的話網上有很多教程
然後的話有兩種方法:一個是刪除文件:如ES或者RE這些可以取得root許可權的軟甲
到/system/app裡面APK和odex文件
還有一種是下系統卸載軟體如:360優化大師,或者刷機大師的root軟體【授權管理】里自帶->【系統自帶應用清理】
這里給出刷機大師的地址:http://www.mgyun.com/vroot
同時這里要提醒一下root之後商家僅不接受軟保【軟體保修】,所以建議過了法定的一年保修期在考慮root
⑧ 如何清除安卓手機APK軟體安裝包
1、在手機上打開已經安裝好的手機管家
2、進入手機管家主頁面,點擊右下角的軟體管理
3、切換到管理頁面,點擊安裝包管理
4、這時,系統將自動掃描出所有的安裝包,包括已安裝和未安裝,點擊右上角的刪除圖標
5、根據自己的情況,可以選擇某些安裝包,也可以點擊右下角的全選按鈕,然後點擊刪除
6、這時,所有手機裡面的安裝包就被清空了