Android 彻底删除系统应用方法

深藏功与名7788

深藏功与名7788

2016-03-31 14:50

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐Android 彻底删除系统应用方法,希望大家看完后也有个好心情,快快行动吧!

Android 彻底删除系统应用方法

   首先强调一下,需要完全root权限,网上的无痛root是部分权限,不好用的。大家一般都会删除自己安装的程序了,最简单的办法就是,设置应用程序管理应用程序,找到并卸载。

  这种办法的话,系统自带的程序是删除不掉的。可是很多人可能有整洁癖,看着自己手机里有自己用不上的程序就闹心,恨不得用手指甲把这几个程序从手机里面抠出。

  别闹心!来教你怎么删除系统自带的应用程序吧。

  先提示:系统程序的文件在删除的时候,请慎重,再慎重,后悔药,世上是没有卖的,如果出现问题就只能重新刷机了,万一一着急又没有备份,手机里对于自己重要的东西可是哭都哭不回来。后路想得要充分!那我们就开始吧。

  1、使用的工具:RootExplorer管理器,这个管理器可以查看并改写系统文件。它有几种状态,比如说只读、读写。

  2、系统文件的位置:System/app,每个系统程序基本上都是成对的,一般有两个,前面的名字一样,后缀分别是.apk 和.odex。

  3、删除系统程序的办法:我们要做的就是把你不想要的系统程序的这两个文件搞掉(删除或者更名让手机的系统自己找不到,目的就算达到)。

  4、举例说明:比如,我们想要删除系统自带的股票软件,那么使用RootExplorer管理器进入System/app,点menu 搜索,键入*stock*,查找,这样就找到6个包含stock 的文件,将RootExplorer管理器状态变为读/写(这样可以删除文件或者改名),那么,为了保险,我们不做删除操作,进行重命名即可,将com.htc.StockWidgets.apk 这个文件改为com.htc.StockWidgets.apk.old (多加一个后缀.old),同理,把6个文件都这样进行重命名即可,这样,就达到了在系统中删除股票软件的目的了。然后退出RootExplorer管理器的时候,系统会进行自动更新,重排程序。

  为增加感官认识,下面上几张图,大家可以看下。

Android 彻底删除系统应用方法 图老师
点击查看原始图片
点击查看原始图片
点击查看原始图片
点击查看原始图片

  5、部分系统软件对照表:

  Footprints:

  HtcFootprints.apk

  HtcFootprints.odex

  HtcFootprintsWidget.apk

  HtcFootprintsWidget.odex

  股票:

  Stock.apk

  Stock.odex

  com.htc.StockWidget.apk

  com.htc.StockWidget.odex

  DCSStock.apk

  DCSStock.odex

  了解更多信息

  LearnMore.apk

  LearnMore.odex

  youtube

  YouTube.apk

  YouTube.odex

  wap浏览器

  WapBrowser.apk

  WapBrowser.odex

  Twitter(Peep)

  HtcTwitter.m.tulaoshi.comapk

  HtcTwitter.odex

  com.htc.TwitterWidget.apk

  com.htc.TwitterWidget.odex

android快捷简单的实现音乐播放器

 播放器功能如下:

1.暂停,播放
2.拖动条实现,快进,快退
3.歌词同步
4.下一曲,上一曲。
5.专辑图片显示
6.后台播放,通知栏显示
7.来电话,暂停,电话结束,开始播放。
界面如下:

android快捷简单的实现音乐播放器  图老师

播放时候,在通知栏会有个图标。暂停,图标消失

后台播放时候,会在通知栏显示,点击,可以进入播放界面

使用详细:
到GIthob下载音乐播放器模块代码。
地址:音乐播放器模块代码下载
下载后,解压,把项目导入eclipse。

把项目作为一个library,引入项目中使用
1.引入项目
创建一个项目,点击项目,右键,properties,android,add
如图界面:

Add时候,选择刚你下载导入的项目,点击ok


2.配置AndroidManifest.xml
访问网络权限:
uses-permission android:name="android.permission.INTERNET" /
配置activity和service:
activity android:name="com.hck.music.ui.PlayMusicActivity"/activity
service android:name="com.hck.music.server.PlayMusicServer" /service
activity用来播放音乐的界面ui
service,播放音乐的service


3.好了,项目里面进行使用:
使用时候,你只需要用一个intent,把相应的数据传进去,启动PlayMusicActivity即可
首先把你的数据装在数组里面,Musicean是一个音乐实体类,在下载的源码里面可以看见它的相关属性的,存音乐的一些信息。比如下面
private ArrayListMusicBean beans;
public void playMusic1(View view) { //点击一个按钮,播放视频
Intent intent = new Intent();
intent.setClass(this, PlayMusicActivity.class);
intent.putExtra("music", beans.toArray()); //beans是你装好数据的一个集合
intent.putExtra("id", 0); //在集合beans的位置,用来获取相应的音乐对象
intent.putExtra("type", "net"); //是在线还是本地,在线填net,本地,随便填
startActivity(intent);
}
//music,id,type,不能变

好了,完成
demo下载地址:musicPlayerdemo


注意,这个demo需要和地址:音乐播放器模块代码下载一起使用的,音乐播放器模块代码,是播放模块,demo是应用中怎么使用该模块。
模块代码完全透明,大家可以更具自己需要,修改代码,修改界面,有详细注释的

android自动化测试中实现长按并拖动

   android应用自动化过程中,会遇见需要长按并拖动的场景,例如类似UC浏览器中,长按某个导航中的图标,使其处于可移动状态,然后再将其移动到另一个地方,与其它导航图标换个位置,在robotium中有个drag(float fromX, float toX, float fromY, float toY,int stepCount)方法,但由于drag没有长按这个步骤,因此不能使应用处于可移动的状态,是没法完成这样的常见而简单的操作的。

  drag方法源码实现如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/android/)

  public void drag(float fromX, float toX, float fromY, float toY,

  int stepCount) {

  long downTime = SystemClock.uptimeMillis();

  long eventTime = SystemClock.uptimeMillis();

  float y = fromY;

  float x = fromX;

  float yStep = (toY - fromY) / stepCount;

  float xStep = (toX - fromX) / stepCount;

 www.Tulaoshi.com MotionEvent event = MotionEvent.obtain(downTime, eventTime,MotionEvent.ACTION_DOWN, fromX, fromY, 0);

  try {

  inst.sendPointerSync(event);

  } catch (SecurityException ignored) {}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/android/)

  for (int i = 0; i stepCount; ++i) {

  y += yStep;

  x += xStep;

  eventTime = SystemClock.uptimeMillis();

  event = MotionEvent.obtain(downTime, eventTime,MotionEvent.ACTION_MOVE, x, y, 0);

  try {

  inst.sendPointerSync(event);

  } catch (SecurityException ignored) {}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/android/)

  }

  eventTime = SystemClock.uptimeMillis();

  event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP,toX, toY, 0);

  try {

  inst.sendPointerSync(event);

  } catch (SecurityException ignored) {}

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/android/)

  }

  可以看出其实是通过MotionEvent的ACTION_DOWN模拟屏幕按下操作,ACTION_MOVE模拟手势在屏幕上滑动,ACTION_UP模拟手势离开屏幕,从而完成整个拖动过程,而且其实robotium中的各种点击类方法也都是通过模拟不同的手势完成的。

  因此要想完成长按并拖动的操作,只要在ACTION_DOWN之后,停留一段时间即可模拟长按操作。

  /**

  * 实现将一个视图拖动到另一个视图所在的位置,用于实现快讯栏目、手机报的排序

  * @param viewFrom 起始View

  * @param viewTo 终点View

  * @throws Exception

  */

  public void clickLong图老师AndDrag(View viewFrom,View viewTo) throws Exception {

  //获得视图View中手机屏幕上的绝对x、y坐标

  final int[] location = new int[2];

  final int[] location2 = new int[2];

  viewFrom.getLocationOnScreen(location);

  viewTo.getLocationOnScreen(location2);

  float xStart=location[0];

  float yStart=location[1];

  float xStop=location2[0];

  float yStop=location2[1];

  Log.i(TAG, "xStart:"+String.valueOf(xStart));

  Log.i(TAG, "yStart:"+String.valueOf(yStart));

  Log.i(TAG, "xStop:"+String.valueOf(xStop));

  Log.i(TAG, "yStop:"+String.valueOf(yStop));

  long downTime = SystemClock.uptimeMillis();

  long eventTime = SystemClock.uptimeMillis();

  try{

  MotionEvent event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_DOWN, xStart+10f, yStart+10f, 0);

  inst.sendPointerSync(event);

  //event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_MOVE, xStart+10f+1.0f, yStart+10f+1.0f, 0);

  //inst.sendPointerSync(event);

  //Thread.sleep(1000);

  //延迟一秒,模拟长按操作

  eventTime = SystemClock.uptimeMillis() + 1000;

  //xStop加了10点坐标,获得的View坐标需根据应用实际情况稍做一点调整

  event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_MOVE, xStop+10f, yStop+50f, 0);

  inst.sendPointerSync(event);

  eventTime = SystemClock.uptimeMillis() + 1000;

  //又再小小移动了一次,不这么做的话可以无法激活被测应用状态,导致View移动后又回复到原来位置

  event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_MOVE, xStop+10f, yStop+10f, 0);

  inst.sendPointerSync(event);

  eventTime = SystemClock.uptimeMillis() + 1000;

  event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP, xStop+10f, yStop+10f, 0);

  inst.sendPointerSync(event);

  }catch (Exception ignored) {

  // Handle exceptions if necessary

  }

  }

Android获得可用内存大小

   ActivityManager am = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);

  ActivityManager.MemoryInfo mi = new ActivityManager.MemoryInfo();

  am.getMemoryInfo(mi);

展开更多 50%)
分享

猜你喜欢

Android 彻底删除系统应用方法

Android
Android 彻底删除系统应用方法

oracle 彻底删除方法

编程语言 网络编程
oracle 彻底删除方法

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

彻底删除Win7系统无用服务的方法

电脑网络
彻底删除Win7系统无用服务的方法

Win7系统下彻底删除无用服务的方法

电脑网络
Win7系统下彻底删除无用服务的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Win7系统彻底删除打印机的方法

电脑网络
Win7系统彻底删除打印机的方法

iPhone彻底删除应用程序及数据图文

iphone iPhone 5s iPhone 6 iphone刷机
iPhone彻底删除应用程序及数据图文

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

ios9.2语音信箱怎么用

ios9.2语音信箱怎么用

苹果iPhone6sPlus如何清理应用缓存

苹果iPhone6sPlus如何清理应用缓存
下拉加载更多内容 ↓