欢迎使用CSDN-markdown编辑器

本文讲解通过反射Android pm instal来调用隐藏api, 来静默安装,至于原理什么的,就不多说了,网络上一搜一大把,下面是亲测可行的;
先上Demo,其中的libs文件夹下的class.jar是主角。
本文有一个大前提,那就是你的apk是放在系统/system/priv-app目录下,也就是说,rom是你们自己搞的,手动滑稽=。=
如果你是用AndroidStudio版本的,也是链接中的DemoSilenceInstall
步骤如下:
* 建一个你自己的工程 ,将class.jar放入到libs目录下。
* 然后projectStructure(按F4直接进),进入dependence点击+号,选择FileDependence 记得把 scope置为Provided,如下图:
1.png

  • 工程目录下的gradle文件修改:
    allprojects {
    repositories {
    jcenter()
    }
    gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
    options.compilerArgs.add(‘-Xbootclasspath/p:app\libs\class.jar’)
    }
    }
    }

    看好名字,不要眼瞎,后面是你起的jar包的名字,这个名字随意取,两者对应就行,

    以上的操作的目的有两个:
    1.就是将class.jar以eclipse中那种userlib的形式导入,
    2.调整jar包的优先级

  • 再将demo中install 包下的代码放到你的工程中.如果这个时候你的PM.java这个文件不报错,那么恭喜,你的操作就算完成了
  • 这个步骤我的代码出现了问题,不知道你的会不会,就是Android中65535问题了,也就是解决这个问题做的操作,AS下好解决,这个不做过多解释。

剩下的,就是将应用打包签名,放到/system/priv-app这个目录下 就ok了,

下面说下Eclipse版本的操作,代码都是一样的,jar包也是一样,就两点,jar包通过userlibrary的形式导入,直接放图吧,多图慎入:
!
![Uploading 4_049957.png …]

3.png

4.png

![

![Uploading 6_086779.png …]
](http://upload-images.jianshu.io/upload_images/1453857-e6cde6675deb959b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

6.png

7.png

8.png

9.png

!
![Uploading 10_162291.png …]

11.png

至此,,搞定了,╮(╯▽╰)╭,继续搬砖。如果你要问这个class怎么来的,你找做rom的大神们给你编译一份源码就行,反正我不会。OTZ….本文讲解通过反射Android pm instal来调用隐藏api, 来静默安装,至于原理什么的,就不多说了,网络上一搜一大把,下面是亲测可行的;
先上Demo,其中的libs文件夹下的class.jar是主角。
本文有一个大前提,那就是你的apk是放在系统/system/priv-app目录下,也就是说,rom是你们自己搞的,手动滑稽=。=
如果你是用AndroidStudio版本的,也是链接中的DemoSilenceInstall
步骤如下:
* 建一个你自己的工程 ,将class.jar放入到libs目录下。
* 然后projectStructure(按F4直接进),进入dependence点击+号,选择FileDependence 记得把 scope置为Provided,如下图:
1.png

  • 工程目录下的gradle文件修改:
    allprojects {
    repositories {
    jcenter()
    }
    gradle.projectsEvaluated {
    tasks.withType(JavaCompile) {
    options.compilerArgs.add(‘-Xbootclasspath/p:app\libs\class.jar’)
    }
    }
    }

    看好名字,不要眼瞎,后面是你起的jar包的名字,这个名字随意取,两者对应就行,

    以上的操作的目的有两个:
    1.就是将class.jar以eclipse中那种userlib的形式导入,
    2.调整jar包的优先级

  • 再将demo中install 包下的代码放到你的工程中.如果这个时候你的PM.java这个文件不报错,那么恭喜,你的操作就算完成了
  • 这个步骤我的代码出现了问题,不知道你的会不会,就是Android中65535问题了,也就是解决这个问题做的操作,AS下好解决,这个不做过多解释。

剩下的,就是将应用打包签名,放到/system/priv-app这个目录下 就ok了,

下面说下Eclipse版本的操作,代码都是一样的,jar包也是一样,就两点,jar包通过userlibrary的形式导入,直接放图吧,多图慎入:
!
![Uploading 4_049957.png …]

3.png

4.png

![

![Uploading 6_086779.png …]
](http://upload-images.jianshu.io/upload_images/1453857-e6cde6675deb959b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

6.png

7.png

8.png

9.png

!
![Uploading 10_162291.png …]

11.png

至此,,搞定了,╮(╯▽╰)╭,继续搬砖。如果你要问这个class怎么来的,你找做rom的大神们给你编译一份源码就行,反正我不会。OTZ….

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值