GVKun编程网logo

使用Root管理删除Android系统软件的方法(怎样删除root权限安卓)

25

如果您对使用Root管理删除Android系统软件的方法感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于使用Root管理删除Android系统软件的方法的详细内容,我们还将为

如果您对使用Root管理删除Android系统软件的方法感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于使用Root管理删除Android系统软件的方法的详细内容,我们还将为您解答怎样删除root权限安卓的相关问题,并且为您提供关于Android App的运行环境及Android系统架构概览、android EditText (文本输入框) 去掉 系统软件盘的方法、android 嵌入式开发(android系统移植)、android 有没有获取系统软键盘的高度的方法?的有价值信息。

本文目录一览:

使用Root管理删除Android系统软件的方法(怎样删除root权限安卓)

使用Root管理删除Android系统软件的方法(怎样删除root权限安卓)

  Root Explorer是一款Android平台的文件管理器,与同类软件相比,其最大特点是具备系统级的操作,具有Android系统Root的最高权限,从而可以删除或替换系统中自带的应用程序或文件,是网友破解一些程序或刷机的时候必备软件。

使用Root管理删除Android系统软件的方法

  点击下载:终极文件管理器 Root Explorer v2.10 汉化版

  作为文件管理器Root Explorer 自然也支持新建文件夹、查看/编辑文件、备份文件、执行脚本、软件安装工具等各项基本功能。同时也支持搜索功能,可以很方便的在手机上搜寻文件。

  Root Explorer 简单使用:

  1、启动Root Explorer后确认获取最高授权;

  2、进入SystemApp文件夹即可看到系统集成的软件;

  3、点击左上角的;Remount as R/W”获取读写权限;

  4、长按需要删除的软件名,接着在随后弹出的菜单中执行删除,重命名,复制,移动等操作;

  注:删除文件时需要同时删除*.apk和*.odex这两个文件,例如删除谷歌地图,那就要同时删除将GoogleMap.apk和GoogleMap.odex这两个文件;

  5、执行完操作后,记得点;Remount as R/O”改为只读,以免误操作。

Android App的运行环境及Android系统架构概览

Android App的运行环境及Android系统架构概览

Android基于linux内核,面向移动终端的操作系统。主要包括以下几个方面:

Application Framework:
这一层为应用开发者提供了丰富的应用编程接口,如 Activity Manager,Content Provider,Notification Manager,以及各种窗口 Widget 资源等。所有的APP都是运行在这一层之上。
Dalvik 虚拟机:
Dalvik VM采用寄存器架构,而不是JVM的栈架构,更适于移动设备。java源代码经过编译成为.class字节码文件,然后由谷歌提供的 dx工具将其转化为Dalvik可识别的.dex文件。
Linux kernel:
每个APP应用程序由一个独立的Dalvik VM来解释执行,而一个Dalvik VM实例对应一个linux内核进程。
所以说,每个APP之间完全隔离,资源独立。使得每个APP更加安全,但也不利于进程间通信

201638163718507.png (572×114)

Android官方介绍

201638163824918.png (486×740)

Android 系统架构

Application framework
大部分开发者十分关心这一层。你必须要了解开发者会接触到的所有API接口,大部分接口都与硬件抽象层(HAL层)接口一一对应,而且它们会告诉你如何实现你自己的驱动。

Binder IPC
Binder进程间通信机制帮助Application framework层能够跨进程并且调用系统级服务。从根本上讲,它帮助高级别的framework的API接口与Android系统服务进行交互。

系统服务
大部分Application framework api具备的功能都要依靠与某种系统服务进行通信从而操作底层硬件。系统服务根据不同的功能分成了若干模块组件,例如Window Manager,Search Service,or Notification Manager。系统服务主要包含两大块:系统和媒体。前者对应的服务包含如Window Manager 或 Notification Manager,后者对应的服务都与播放或记录媒体有关。
硬件抽象层Hardware abstraction layer (HAL)
硬件抽象层可以作为一个标准接口让Android系统调用设备驱动层而不用管这些驱动和硬件时如何实现的。


Linux Kernel
大多数情况下,你自己开发设备驱动和开发linux设备驱动时一样的。Android挑选了一个特定的linux内核版本,这个版本包含了如wakelocks(一个内存管理系统),Binder IPC驱动和其他一些特征,这些特征对于像Android一样的移动嵌入式平台都非常重要。你也可以根据自己的需求选择合适的kernel版本,只要它能支持一些必要的属性如Binder IPC驱动等。但是,我们仍然推荐你使用最新版本的Android内核。

相关知识点:
应用程序进程间隔离机制:
Android系统包括四层架构:从底层往上依次是Linux kernel层、C/C++函数库与Android运行时环境(Dalvik VM等)层、Android Framwork框架层、应用程序层。其中,Android运行时环境层类似Java里的JRE层,主要用来运行java程序,不过此处的虚拟机是Dalvik虚拟机。每一个Android应用程序都运行在单独的Davlik进程里,Dalvik虚拟机针对同时高效运行多个虚拟机而优化,在这一层实现了应用程序的进程间隔离。

Dalvik虚拟机与JVM区别:

JVM直接从.class或jar包中加载字节码解释运行,Dalvik通过DX工具将.class文件编译为.dex文件(Dalvik Executable)来运行。
JVM采用栈结构,而Dalvik采用寄存器结构,更适于移动设备。
为何Android要采用Dalvik虚拟机而不是JVM呢?

大多数虚拟机(包括JVM)都是基于栈的,而Dalvik虚拟机则是基于寄存器的,性能更好,不过也导致硬件通用性略差;
运行专有.dex文件。DX工具对.class文件编译时,去除里面的冗余信息,并把所有.class文件整合到一个文件中,提高了性能。同时DX工具还会对.dex文件进行性能优化。

android EditText (文本输入框) 去掉 系统软件盘的方法

android EditText (文本输入框) 去掉 系统软件盘的方法

默认状态下,当我们点击文本输入框时,会弹出系统软键盘。 当在大屏幕的 android 设备上有输入需求时,系统软键盘的已输入文本会感觉字体有些小,不容易看清。本人也未找到方大软键盘输入时文本的方法。只好通过禁用系统软键盘,开发自己的键盘的方法补救!

 

禁用系统软键盘方法 1:

在你的 Activity 的 onCreate () 方法中加入以下代码:

EditText edittext=(EditText )findViewById(R.id.xx);

edittext.setInputType(InputType.TYPE_NUMBER_VARIATION_NORMAL);

 

禁用系统软键盘方法 2:

在你的 Activity 的 onCreate () 方法中加入以下代码:

EditText edittext=(EditText )findViewById(R.id.xx);

edittext.setKeyListener(null);

如果需要侦听遥控器数字按键,上面句需改成 edittext.setKeyListener (this); 然后在你的 activity 里实现 KeyListener 接口,接口方法贴出:

@Override

public void clearMetaKeyState(View view, Editable editable, int i) {

// TODO Auto-generated method stub

 

}

 

@Override

public int getInputType() {

// TODO Auto-generated method stub

return 0;

}

 

@Override

public boolean onKeyDown(View view, Editable editable, int i,

KeyEvent keyevent) {

if (keyevent.getKeyCode() == KeyEvent.KEYCODE_ENTER) {

hideSoftKeyBoard(true);           ③

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_0) {

numBtnVal = "0";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_1) {

numBtnVal = "1";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_2) {

numBtnVal = "2";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_3) {

numBtnVal = "3";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_4) {

numBtnVal = "4";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_5) {

numBtnVal = "5";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_6) {

numBtnVal = "6";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_7) {

numBtnVal = "7";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_8) {

numBtnVal = "8";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_9) {

numBtnVal = "9";

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_CTRL_LEFT) {

if (curFocusPosi > 0) {

curFocusPosi--;

} else {

curFocusPosi = 0;

}

setEditTextVal();

return true;

} else if (keyevent.getKeyCode() == KeyEvent.KEYCODE_CTRL_RIGHT) {

if (curFocusPosi < tmpSNVal.length()) {

curFocusPosi++;

}

setEditTextVal();

return true;

} else {

return false;

}

 

}

 

@Override

public boolean onKeyOther(View view, Editable editable, KeyEvent keyevent) {

// TODO Auto-generated method stub

return true;

}

 

@Override

public boolean onKeyUp(View view, Editable editable, int i,

KeyEvent keyevent) {

// TODO Auto-generated method stub

return true;

}

 

其中红色标出的 ③处是弹出我们自己的键盘。自定义键盘的所有 button 放在 id 为 softInputArea 的相对布局中,并实现按钮的点击事件 numBtnClickHandler (View source), 从而改变 edittext 的内容。

  private void hideSoftKeyBoard(boolean showOrHide) {

RelativeLayout keyBoardLayout = (RelativeLayout) findViewById(R.id.softInputArea);

if (keyBoardLayout != null) {

     if (showOrHide) {

            keyBoardLayout.setVisibility(View.GONE);

     } else {

            keyBoardLayout.setVisibility(View.VISIBLE);

}

                 }

}

 

部分自定义键盘布局:

<RelativeLayout

            android:id="@+id/softInputArea"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="right"

            android:background="@drawable/ic_keyboard_backgroud"

            android:visibility="visible" >

               // 数字 1

            <Button

                android:id="@+id/btn1"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:background="@drawable/number1_button_style"

                android:focusable="true"

                android:onClick="numBtnClickHandler" />

             // 数字 2

            <Button

                android:id="@+id/btn2"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:layout_toRightOf="@id/btn1"

                android:background="@drawable/number2_button_style"

                android:focusable="true"

                android:onClick="numBtnClickHandler" />

     。。。。。。

       我们必须在 activity 中实现点击事件的自定义方法 numBtnClickHandler(View source)方法,通过形参 View source 我们可以得知是哪个按钮被点击,然后对各个按钮进行处理,同时给 edittext 赋值!!

public void numBtnClickHandler(View source) {

 

if (source != null) {

if (source.getId() == R.id.btn0) {

numBtnVal = "0";

} else if (source.getId() == R.id.btn1) {

numBtnVal = "1";

} else if (source.getId() == R.id.btn2) {

numBtnVal = "2";

} else if (){.......}

android 嵌入式开发(android系统移植)

android 嵌入式开发(android系统移植)

各位OSCHINA的朋友,谁有这方面的参考资料,给个链接或者传给我参考下吧?

谢谢:)

android 有没有获取系统软键盘的高度的方法?

android 有没有获取系统软键盘的高度的方法?

rt 谢谢。

今天关于使用Root管理删除Android系统软件的方法怎样删除root权限安卓的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android App的运行环境及Android系统架构概览、android EditText (文本输入框) 去掉 系统软件盘的方法、android 嵌入式开发(android系统移植)、android 有没有获取系统软键盘的高度的方法?的相关知识,请在本站搜索。

本文标签: