精华内容
下载资源
问答
  • Android 将自己的应用改为系统应用

    万次阅读 多人点赞 2016-11-30 16:19:11
    所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定、减少...第一种:使用ADB命令将app安装在system/app目录下转载:android 将自己的应用改为系统应用这种方法的原理就是:1、把apk文件移动到

    刚才有个朋友问我,博主发生什么事了,给我发了几张截图,我一看,哦,原来是有个大帅哔看了文章,说是,博主,我能白嫖你的文章,我说年轻人,点个赞再走,他说不点,我说点一个,他说不点,我说点一个,他说不点,我说我这文章对你有用,他不服气,说要先看看。我说可以,很快啊,看完后,就是一个复制,一个粘贴,一个网页关闭,我大意了啊,没有删除文章。按传统博客的有用为止,他说已经输了啊。 后来他说他是乱点的,这可不是乱点的啊,训练有素。我劝年轻人好好点赞,耗子尾汁,谢谢朋友们

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/53406933 文章出自:薛瑄的博客

    所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定、减少内存(DATA)空间占用、恢复出厂设置后不会消失、修改系统时间、调用隐藏方法、系统关机重启、静默安装升级卸载应用等等等等优点,想知道怎么操作?接下来我们介绍三种方法。

    #第一种:使用ADB命令将app安装在system/app目录下

    参考:android 将自己的应用改为系统应用

    ##这种方法的原理就是:
    1、把apk文件移动到system/app目录,
    2、.so文件移动到system/lib目录。
    3、修改相应的权限

    ##操作步骤:

    1. 将你的手机数据线,插上,把你的设备设置为允许usb调试
    2. 打开命令终端cmd
    3. 输入命令 adb shell
    4. 确定能进入系统
    这里写图片描述

    5. 输入命令 mount
    这里写图片描述

    6. 因为system默认是只读文件夹,所以根据上面的提示输入下面命令,使其变为可读写
    mount -o remount /dev/block/nandd /system (图)
    这里写图片描述

    再出输入 mount 查看system和上面的不一样了,说明正确

    这里写图片描述

    7. 输入 exit 退出android系统终端

    8. 解压你的apk文件,进入查看lib/armeabi文件夹下有没有 .so文件,如果没有这种库文件的话,直接跳到第10步,(因为有些apk文件是要调用动态链接库的,你不拷贝的话,就没有办法运行!会报错)如果有的话, 将这些.so文件都拷贝到/system/lib文件夹下:*

    命令:adb push libiReader_txtparser.so system/lib
    这里写图片描述

    9、拷贝完了之后呢,要给这些库文件添加权限,看看别的库文件权限是几

    chmod   644  xxxxx.so
    

    这里写图片描述

    10. 将你的apk文件拷贝进入/system/app(该文件夹里存放着所以系统级别的apk),图中我是将iReader.apk拷贝过去的

    这里写图片描述

    11. 再次进入android终端 adb shell
    12. 进入system/app文件夹 cd system/app
    13. 查看其他apk的权限 ll 能看出区别

    这里写图片描述

    14. 修改iReader.apk权限使其和其他的一样 chmod 644 iReader.apk
    这里写图片描述

    15. 搞定这些之后,重启设备 reboot
    16. 看看系统里面是不是安装好了该应用,点击一下,看是否正常运行,可以的话,再检测是否无法卸载!

    #第二种:借助工具把app转为系统应用(原理和方法一一样)

    转载:安卓进阶教程:怎样把应用转换成系统程序

    RE管理器转换和LINK2SD都可以实现,任选其一即可

    ##使用RE管理器转换

    1、首先我们把需要转换的程序在电脑上用压缩软件打开 ,看有没有lib这个目录。如果有,再把lib目录打开,直到出现以.so结尾的文件,把文件都拖出来备用。

    这里写图片描述这里写图片描述

    2、把需要转换的应用(apk文件)连同刚拖出的.so文件(如果有),放到手机内存卡,
    3、用RE管理器复制到system目录,把权限更改如图,
    4、把更改权限后的apk文件移动到system/app目录,.so文件移动到system/lib目录。
    5、完成后重启手机,应用就转换成系统程序了。

    ##使用LINK2SD转换

    这里写图片描述这里写图片描述

    如果感觉以上方法麻烦,也可借助工具来操作,LINK2SD、钛备份等软件都可以把普通程序转换为系统程序,以LINK2SD为例,打开LINK2SD,找到需要软件的程序,点击,再点操作,选择转换系统应用,接着会有个确认窗口,确认后,重启手机程序就转换好了。

    #第三种:使用signapk打包成系统应用

    参考:
    android之使用signapk打包成系统应用,获取系统权限
    使用platform密钥来给apk文件签名的命令
    Android安全开发之通用签名风险
    关于android:sharedUserId="android.uid.system"这个系统级权限
    安装APK 时, 提示" 共享用户权限不完整" , 不能安装成功, 如何解决?
    https://github.com/android/platform_build/tree/master/target/product/security

    为了更好地理解下面介绍的两种方法的原理,先来学习几个概念:

    ##Android应用签名机制
    Android系统要求安装的应用必须用数字证书进行签名后才能安装,并且签名证书的私钥由应用开发者保存。签名证书的生成也由开发者自己生成。在应用安装时会校验包名(package name)和签名,如果系统中已经存在了一个相同的包名和签名的应用,将会用新安装的应用替换旧的;如果包名相同但是签名不同,则会安装失败。

    为什么需要数字签名?

    数字签名是防止要保护的内容被篡改,用非对称加密算法。先对要保护的内容进行消息摘要,用私钥对消息摘要进行加密,生成数字签名,将数字签名和要保护的内容一起分发出去。 内容接收者用公钥对数字签名解密得到发送者给的消息摘要A,内容接收者对接收到的内容进行用相同的消息摘要算法处理得到消息摘要B,对比A和B是否相同,来判定传送的内容是否被篡改。 正常的APK文件是个ZIP压缩文件,除了应用的可执行文件、资源文件,还包括这些可执行文件、资源文件的摘要信息,数字证书的公钥信息等。并且通过这些签名信息可以确定APP和其开发者的关系。

    进行签名需要的工具有哪些?

    对apk进行签名需要用到签名证书和签名工具。Android系统要求对APP进行签名的数字证书可以由开发者自己生成。签名工具有jarsigner和signapk。jarsigner是Java本身自带的一个工具,他也可以对jar进行签名的;而signapk是专门为了Android应用程序apk进行签名的工具。二者的区别是:jarsigner工具签名时使用的是keystore签名文件,signapk工具签名时使用的是pk8,x509.pem文件。

    签名后的文件都有哪些?

    应用签名完后在应用的META-INF目录下会有三个文件:

    CERT.RSA、CERT.SF和MANIFEST.MF。

    MANIFEST.MF中保存了所有其他文件的SHA1摘要并base64编码后的值。

    CERT.SF文件 是对MANIFEST.MF文件中的每项中的每行加上“rn”后,再次SHA1摘要并base64编码后的值(这是为了防止通过篡改文件和其在MANIFEST.MF中对应的SHA1摘要值来篡改APK,要对MANIFEST的内容再进行一次数字摘要)。

    CERT.RSA 文件:包含了签名证书的公钥信息和发布机构信息。

    对安装包的校验过程在源码的frameworks/base/core/java/android/content/pm/PackageParser.java类中可以看到

    什么是通用签名?

    搭建好Android开发环境后(使用Eclipse或Android Studio),对APK签名的默认密钥存在debug.keystore文件中。在linux和Mac上debug.keystore文件位置是在**~/.android路径下,在windows目录下文件位置是C:\user\用户名.android**路径下。

    除了debug.keystore外,在AOSP发布的Android源码中,还有以下几个证书是公开的,任何人都可以获取,在源码的build/target/product/security目录中:

    这里写图片描述

    这几个证书的作用:

    testkey

    Generic default key for packages that do not otherwise specify a key.

    platform

    Test key for packages that are part of the core platform.

    shared

    Test key for things that are shared in the home/contacts process.

    media

    Test key for packages that are part of the media/download system.

    verity

    Test Key for verifiedboot system imagein Android Lollipop. Sign boot.img,sign verity metadata in system.img.

    通用签名风险:

    (1)如果攻击者的应用包名与目标应用相同,又使用了相同的密钥对应用进行签名,攻击者的应用就可以替换掉目标应用;

    (2)另外目标应用的自定义权限android:protectionlevel为“signature”或者“signatureOrSystem”时,保护就形同虚设;

    (3)如果设备使用的是第三方ROM,而第三方ROM的系统也是用AOSP默认的签名,那么使用如果使用系统级签名文件签名过的应用,权限就得到了提升。

    ##具体的实现方法:

    ###第一种是需要在Android系统源码的环境下用make来编译:

    1. 在应用程序的AndroidManifest.xml中的manifest节点中加入android:sharedUserId="android.uid.system"这个属性。
    2. 修改Android.mk文件,加入LOCAL_CERTIFICATE := platform这一行
    3. 使用mm命令来编译,生成的apk就有修改系统时间的权限了。

    ###第二种:

    下面着重介绍一个这个方法:

    1. 加入android:sharedUserId="android.uid.system"这个属性。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
              package="com.example.jant.addview"
              android:sharedUserId="android.uid.system" >
        <application
           ...(省略若干代码)
        </application>
    
    </manifest>
    

    2. 使用自己的签名文件,生成apk

    3. 使用通用签名来重新给apk文件签名。

    3.1 .准备好platform.pk8、platform.x509.pem和签名工具signapk.jar(3个文件的下载地址),还有自己的apk,放在同一个文件夹下。

    3.2 在cmd下进入到该文件夹后,使用如下命令:
    这里写图片描述

    3.3 回车后我们的文件夹下已经多了一个new.apk文件了,这就将我们的应用打包成系统应用


    你也可以在github中去下载,但是下载的是SignApk.java,需要进行一些处理,如下

    1.1.进入\build\target\product\security,找到【platform.pk8】和【platform.x509.pem】系统密钥。
    1.2.进入\build\tools\signapk找到SignApk.java,运行 javac编译成SignApk.class
    1.3.执行命令java com.android.signapk.SignApk platform.x509.pem platform.pk8 input.apk output.apk

    ##最后解释一下原理
    首先加入android:sharedUserId="android.uid.system"这个属性。通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,也就是系统应用。

    只是加入UID还不够,如果这时候安装APK的话发现无法安装,提示签名不符,原因是程序想要运行在系统进程中还要有目标系统的platform key,就是上面第二个方法提到的platform.pk8和platform.x509.pem两个文件。用这两个key签名后apk才真正可以放入系统进程中。第一个方法中加入LOCAL_CERTIFICATE := platform其实就是用这两个key来签名。

    这也有一个问题,就是这样生成的程序只有在原始的Android系统或者是自己编译的系统中才可以用,因为这样的系统才可以拿到platform.pk8和platform.x509.pem两个文件。要是别家公司做的Android上连安装都安装不了。试试原始的Android中的key来签名,程序在模拟器上运行OK,不过放到小米四上安装uibl,如下图,这样也是保护了系统的安全。

    这里写图片描述

    最后还说下,这个android:sharedUserId属性不只可以把apk放到系统进程中,也可以配置多个APK运行在一个进程中,这样可以共享数据,应该会很有用的。
    你在Manifest.xml里声明使用了shareuserid 或者一些特殊permission,比如你shareuserid到uid.system,就必须使用系统platform签名来签你的apk,否则是不能安装的,同理share到其他用户id或者其他process上也是得用跟那个process运行的apk一样的签名
    一般签名肯定是厂商私有的,你肯定是没办法了,除非机器烧的是开发版本(eng)

    #检验app是否已经是系统应用

    查看应用的进程属性,如果是system用户组,说明已经是系统应用。

    这里写图片描述

    关注我的公众号,轻松了解和学习更多技术
    这里写图片描述

    展开全文
  • 在安卓系统的机制里面 ,只要是将app复制到系统的system文件/system/app 文件夹中的app,都是系统应用,如果你把系统内置的应用从里面删除了,也就是彻底移除了作为系统应用的条件 .这就是很多软件可以删除 操控系统应用...

    在安卓系统的机制里面 ,只要是将app复制到系统的system文件/system/app 文件夹中的app,都是系统应用,如果你把系统内置的应用从里面删除了,也就是彻底移除了作为系统应用的条件 .这就是很多软件可以删除 操控系统应用的一个实际干的事情…

    当然,要做这个操作,就必须得先root,不然是不可能做到的.

    首先 : 可以用adb 命令 ,adb 命令是需要在电脑端完成的.
    (不明白adb命令的,可以去看我的博客里面的说明(https://blog.csdn.net/u012930316/article/details/90314634)

    可以先把你要设置的app ,复制到sd卡的目录下面,也就是 /sdcard/

    1. 这个操作也可以使用adb来完成
      adb push demo.apk /sdcard/

    2. 进入手机的shell 命令行:
      adb shell

    3. 然后切换root 用户
      su root

    如图:
    在这里插入图片描述

    1. 然后解锁系统分区,就锁这个分区后,就可以往里面复制我们的app安装包了 :
      mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

    在这里插入图片描述
    5.再复制我们第一步时的app 至 系统分区下面的app目录下面
    cat /sdcard/demo.apk > /system/app/demo.apk // 这一步可以用 cp 实现,但一般设备中没有包含该命令。如果使用 mv 会出现错误:
    6. mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system // 还原分区属性,只读。
    在这里插入图片描述

    然后,关机重启, 将自己的app设置为系统app就完成了.但是,弄完这一步,并不能保证我们的app能正常运行,还需要进行下面的操作 .

    在我们的app中,可能会有 lib 相关的关联包,你通过这样的方式引用的,需要手动去复制过去,那么需要进行这样的操作

    首先,在电脑端,用解压缩工具,将我们的app解压到某个文件夹下面,在刚才解压的文件夹下面有个文件夹lib

    在这里插入图片描述

    打开这个文件夹,里面会有三个文件夹,分别对应不同的 系统架构生成的 so文件 ,需要找到合适系统架构的的so文件,复制到 系统分区的lib 目录中去(/system/lib/) 我这里是小米5的手机,我复制的是 armeabi 这个目录下面的 so文件.
    那么执行步骤 ,
    先执行刚才的第一步,把这个so文件,全部复制到 /sdcard/ 就是文件的根目录下面
    再 执行上面的解锁系统分区 将系统分区解锁,然后把这个文件 复制到 对应的目录
    如:
    cat /sdcard/libsqlcipher.so > /system/lib/libsqlcipher.so

    再把系统分区锁回去,然后,就可以试试app,看会不会崩了.

    另外还有一个通过代码的方式去将自己的app 设定为系统应用 …原理和上面也是一样的.
    代码贴上… 可以通过按钮触发 setSysApp();这个方法即可

    /**
     *  设置为系统应用
     */
    public  void setSysApp() {
        final Runnable runnable = new Runnable() {
            @Override
            public void run() {
                // 解锁系统分区
                String s = "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system";
                CMDUtils.upgradeRootPermission(s);
                //
                s="cat /sdcard/demo.apk > /system/app/demo.apk";
                CMDUtils.upgradeRootPermission(s);
                s="cat /sdcard/libsqlcipher.so > /system/lib/libsqlcipher.so";
                CMDUtils.upgradeRootPermission(s);
                s="mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system ";
                CMDUtils.upgradeRootPermission(s);
            }
        };
        new ExecutorUtil(runnable).execute();
    
    }
    
    public class ExecutorUtil extends Thread{
        final static ExecutorService cachedThreadPool = Executors.newCachedThreadPool();
        private Runnable runnable;
    
        public ExecutorUtil(Runnable runnable){
            this.runnable=runnable;
        }
        @Override
        public void run() {
            try{
                Looper.prepare();
                new Handler().post(runnable);//在子线程中直接去new 一个handler
                Looper.loop();//这种情况下,Runnable对象是运行在子线程中的,可以进行联网操作,但是不能更新UI
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        public void execute() {
            cachedThreadPool.execute(this);
        }
    }
    
    // 获取系统权限的方式执行
        public static String upgradeRootPermission(String cmd) {
            Log.i(TAG, "执行开始");
            //String pkgCodePath = "/sdcard";
            Process process = null;
            DataOutputStream os = null;
            try {
                process = Runtime.getRuntime().exec("su"); //切换到root帐号
                os = new DataOutputStream(process.getOutputStream());
                os.writeBytes(cmd + "\n");
                os.writeBytes("exit\n");
                os.flush();
                process.waitFor();
    
    
                StringBuilder successMsg = new StringBuilder();
                StringBuilder errorMsg = new StringBuilder();
                BufferedReader successResult = new BufferedReader(
                        new InputStreamReader(process.getInputStream()));
                BufferedReader errorResult = new BufferedReader(
                        new InputStreamReader(process.getErrorStream()));
                String s;
                while ((s = successResult.readLine()) != null) {
                    successMsg.append(s);
                }
                while ((s = errorResult.readLine()) != null) {
                    errorMsg.append(s);
                }
    //                cmdRsult = new CMD_Result(result, errorMsg.toString(),
    //                        successMsg.toString());
    
    
                Log.i(TAG, successMsg.toString() + "执行完成" + errorMsg.toString());
                return successMsg.toString();
            } catch (Exception e) {
                Log.e(TAG, "异常 upgradeRootPermission: ", e);
            } finally {
                Log.i(TAG, "执行完成finally");
                try {
                    if (os != null) {
                        os.close();
                    }
                    process.destroy();
                } catch (Exception e) {
                }
            }
            return  null;
        }
    
    展开全文
  • 有时候使用某些api需要使用系统权限,如调用PackageInstaller的相关接口,需要android.permission.INSTALL_PACKAGES权限,该权限系统只会授权给系统应用,此时可以考虑将我们的应用升级为系统应用,升级为系统应用有...

    有时候使用某些api需要使用系统权限,如调用PackageInstaller的相关接口,需要android.permission.INSTALL_PACKAGES权限,该权限系统只会授权给系统应用,此时可以考虑将我们的应用升级为系统应用,升级为系统应用有两种方法:

    1. 将apk放到/system/app目录下,重启手机即可,此方法比较粗暴,而且需要修改/system目录的读写权限,因此需要root,而且随着Android系统版本对权限管理越来越严,root和修改读写权限更繁琐和复杂
    2. 添加sharedUserId="android.uid.system"配置,同时使用系统签名对apk进行重签名,安装后即有系统权限,此方法需要获取到系统签名,但通常厂商开发的rom都不会公开签名,因此如果针对某些自己集成系统的需求,可以使用此方案。

    下面针对第2种方案进行讲解。

    1. 首先需要在menifest文件中添加sharedUserId="android.uid.system"配置,如下
      <manifest xmlns:android="http://schemas.android.com/apk/res/android"
                  package="com.google.example"
                  android:sharedUserId="android.uid.system">

       

    2. 添加需要的使用的系统权限,如

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

       

    3. 使用系统签名对apk进行签名,首先需要打未签名的包,Android Studio环境下点击右侧Gradle按钮,弹出目录,打开Tasks->build->assemble...,其中assemble开头的几项即是打包任务,双击相应项即可获取相应的包

    接着要获取系统签名,找到系统签名文件“platform.pk8”和“platform.x509.pem”,在系统源码路径下

    签名文件路径:android/build/target/product/security/

    准备好签名工具:“signapk.jar”

    位置:android/prebuilts/sdk/tools/lib

    将未签名的apk、签名文件和签名工具放在同一路径下,开启终端,cd到该目录,运行如下命令即可得到带系统签名的apk

    java -jar signapk.jar platform.x509.pem platform.pk8 Demo.apk signedDemo.apk

    以上的方法相对还是比较繁琐,而且不便于调试,可以将系统签名打入keystore,使用该keystore即可在Android Studio环境下生成带系统签名的apk

    1. 首先需要生成keystore文件,生成过程在此省略,可自行百度
    2. 下载keytool-importkeypair,https://github.com/getfatday/keytool-importkeypair/
    3. 该操作需要linux系统,并安装jdk,win10环境下可以开启“基于Lunix的Windows子系统”,不需要去折腾安装虚拟机或者系统。当如,如果兄dei你已经有Linux系统或者是mac,那么恭喜你,省了很多需要折腾的步骤
    4. 将keystore、platform.pk8、platform.x509.pem、keytool-importkeypair放在同一目录下,开启终端,cd到此目录,运行如下命令即可将系统签名打入keystore
      ./keytool-importkeypair -k ./demo.keystore -p password -pk8 platform.pk8 -cert platform.x509.pem -alias demoAlias
      
      解释:-P后接keystore密码,-alias后接key alias

       

    5. 运行结束即会在当前目录下生成带有系统签名的keystore,使用此keystore安装Android Studio打包流程打包即可得到带系统权限的apk

    展开全文
  • mac 删除系统应用

    千次阅读 2018-09-25 18:00:51
    最近升级了macOS Mojave,突然多出来3个系统应用: 就我这重强迫症者,必须想办法把它们给干掉了,以前用AppZapper删除系统应用,如今用它已经无法删除了。经一番思索终于找了一个方法: 第1步: 关闭安全设置 重启...

    最近升级了macOS Mojave,突然多出来3个系统应用:
    在这里插入图片描述
    就我这重强迫症者,必须想办法把它们给干掉了,以前用AppZapper删除系统应用,如今用它已经无法删除了。经一番思索终于找了一个方法:

    第1步: 关闭安全设置
    重启mac,不停地按住command+R键进入macOS恢复功能,如下图所示:
    在这里插入图片描述
    选择实用工具–>终端,进入终端界面,输入命令:csrutil disable关闭安全设置。然后重启进入系统。

    第2步: 删除应用
    打开终端访达–>应用程序,使用sudo rm -rf + 应用路径(rm -rf命令用法可自行Google),选中访达中的某个系统应用,拖到终端,输入密码,强制删除:
    在这里插入图片描述
    注意:

     1、使用sudo命令需要当前的登录用户有sudo权限
     2、输入密码时,无有任何提示,输入完成回车即可
     3、删除系统自带应用需谨慎
    

    第3步: 开启安全设置

    参考第1步进入终端界面,输入csrutil enable即可,再次重启系统操作完成

    展开全文
  • 如何在Python中调用系统应用程序。
  • 小米手机ADB删除系统应用去广告

    万次阅读 多人点赞 2020-01-25 16:29:22
    小米手机ADB删除系统应用去广告前言1、准备2、进入开发者模式3、连接手机与电脑4、使用ADB命令删除系统应用 前言 本文要介绍的方法可以免 root 卸载预置应用,仅删除当前用户下的 APP,不是彻底删除 APP,恢复出厂...
  • 华为鸿蒙系统应用开发工具介绍 DevEco Studio

    万次阅读 多人点赞 2020-09-14 21:33:12
    简单介绍华为鸿蒙系统应用开发工具 DevEco Studio的安装和使用 据说12月份鸿蒙系统会推出手机的SDK哦,作为一名普通的开发者,表示非常期待。 一、HUAWEI DevEco Studio 介绍 HUAWEI DevEco Studio 是华为消费者...
  • Android 手机替换系统应用

    千次阅读 2017-12-01 10:14:11
    开发中我们一般使用debug的apk包,但是有时需要安装Release包,如果是普通的应用可以直接删除,但是如果是系统应用则很难删除,本文主要介绍在ubuntu系统下替换系统Android手机中的系统应用。由于目前Ubuntu系统默认...
  • Android系统应用隐藏和应用禁止卸载

    千次阅读 2016-07-08 14:30:46
    Android设置中的应用管理器提供了一个功能,就是【应用停用】功能,这是针对某些系统应用的。当应用停用之后,应用的图标会被隐藏,但apk还是存在,不会删除,核心接口就是PackageManager的...
  • 系统应用和第三方应用跳转

    千次阅读 2016-06-20 16:27:53
    电话、短信、邮件、网页浏览。调用系统服务、系统应用跳转,第三方应用跳转
  • Android 无需 root 卸载系统应用

    千次阅读 2019-10-21 14:05:54
    卸载应用的命令 adb shell pm uninstall [-k] [--user USER_ID] 包名 ...卸载系统应用(例:系统自带的计算器) 不指定用户ID 当我们不设置用户ID的时候,卸载系统应用是不成功的。 adb shell pm unins...
  • 当我们的应用想要使用一些系统应用才能使用的功能时该怎么办呢?如何让我们的应用“变成”系统应用? 本文介绍三种方法使得我们的应用变成系统应用。 1. 给应用系统签名 2. 不带源码直接放apk,mm编译 3. 带源码mm...
  • 鸿蒙系统应用开发初体验(一)

    万次阅读 多人点赞 2019-08-09 17:13:42
    上学时期就对操作系统非常有兴趣,甚至还想自己动手尝试尝试。 曾买来一堆关于操作系统的书籍肯,这不,翻出来几年前的博客《动手写简单的嵌入式操作系统https://blog.csdn.net/yyz_1987/article/details/9901269》...
  • 将一个应用安装为系统应用

    千次阅读 2017-07-26 18:16:55
    如何将一个应用安装为系统应用 首先,我们需要获得root权限 adb root其次,我们需要重新挂载 adb remount经过上边的两步,我们应该已经获取了足够的权限来进行下列操作,将你的apk,push到/system/app底下 adb ...
  • Android 系统应用升级的坑

    千次阅读 2018-07-31 15:45:01
    基于业务需要,Android平板用户应用要变成系统应用,而且是桌面应用的唯一入口(关机开机后的应用界面)。 平板root之后,基于应用的改变为系统都有现成的说明,主要核心是将系统签名后的应用 adb push *****.apk /...
  • 最近有win10系统用户打开word出现“应用程序无法正常启动0xc0000142”的提示 ,重启后再次出现提示,再次尝试打开发现可以正常打开。其他软件在安装时也会提示“应用程序无法正常启动0xc0000142”,同一个软件不是...
  • 如何实现在 Android Studio 上开发系统应用(自带系统签名) 基于Android 系统应用包名和路径的局限性,很多同僚不得不暂时放弃 Android Studio,而无奈地选择在已经停止更新的eclipse上进行系统级应用的开发,...
  • 使用vue搭建多页面多系统应用

    千次阅读 2019-02-26 15:29:11
    一、多页面多系统应用 思路 使用Vue搭建多页应用。所有系统都在同一目录下。配置多入口多出口。每个系统之间可以链接。每个系统内依然采用Vue单页应用开发。 组件复用性 可以将所有的系统公共组件放到系统目录最...
  • 所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定、减少内存(DATA)空间占用、恢复出厂设置后不会消失、修改系统时间、调用隐藏方法、系统关机... 将自己的应用改为系统应用 这种方法的原
  • adb卸载和安装系统应用

    万次阅读 2018-10-18 14:40:36
    卸载系统应用 1.先把原来已经存在的相同包名的APK删除 adb root adb disable-verity adb reboot 重启设备  adb root adb remount 提示remount succeeded 表示成功 adb shell  su cd /system/app rm -r test...
  • 5G通信系统应用场景与消费物联网、工业物联网应用场景综合分析 一、5G通信系统应用场景 5G的到来意味着什么?高速率(增强型移动宽带,eMBB)、大容量(大规模机器通信,mMTC)、低时延(高可靠低时延通信,URLLC)是5G...
  • Android 系统应用Setting开发总结

    千次阅读 2014-03-16 21:15:44
    最近由于工作关系需要对系统应用Setting进行二次开发,选择的工具是eclipse,所以也可以看得出来,不是在源码的环境下开发的。第一步自然是把Setting源码导入到eclipse,这样的话问题就出现了,会有很多错误。原因...
  • flyme5禁用系统应用

    千次阅读 2017-02-24 18:00:04
    网上说利用adb shell pm hide命令就可以隐藏系统应用了,还无需root。实测flyme5即使root了也不行,提示“Neither user 2000 nor current process has android.permission.MANAGE_USERS”。这是没有相应权限的提示,...
  • 今天给app添加权限,当用户禁止后会弹出alert提示用户,咱们这个app需要这个权限 没这个权限app的一些功能就不能使了,但用户已经关了 也不知道在哪打开 所以加个去设置的按钮 点击然后跳到系统应用管理 设置权限 ...
  • Android调用系统应用打开各种类型文件
  • 停用、卸载系统应用
  • Android 系统应用Setting开发小结

    千次阅读 2014-03-19 20:33:45
    最近由于工作关系需要对系统应用Setting进行二次开发,选择的工具是eclipse,所以也可以看得出来,不是在源码的环境下开发的。第一步自然是把Setting源码导入到eclipse,这样的话问题就出现了,会有很多错误。原因...
  • 在Win10系统中,有用户反应再应用商店安装QQ或者其他应用软件的时候安装进度不动卡主的现象,导致无法正常的安装应用程序该...下面小编就详细的为大家介绍Win10系统应用商店无法安装应用安装进度条卡住不动的解决方法。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 769,459
精华内容 307,783
关键字:

系统应用