系统app开发基础:免反射直接调用系统隐藏API

128 阅读1分钟

1. 引入Gradle Plugin,并在需要使用的模块上应用

插件源码在 GitHub - liu-wanshun/frameworkJar

pluginManagement {
   repositories {
      maven {
         url = uri("https://www.jitpack.io/")
      }
   }
}

plugins {
    id("io.github.liu-wanshun.frameworkJar") version "1.0.0"
}

2. 在需要使用的模块级build.gradle中

使用frameworkJar进行依赖本地jar,或者也可以使用自行上传到maven中的framework.jar

dependencies {
    // this should replace with your frameworkJar
    frameworkJar(rootProject.files("prebuilt/framework_16.jar"))
}

framework.jar 来源:

  • 自行编译AOSP,out/soong/.intermediates/frameworks/base/framework/android_common/turbine-combined/framework.jar
  • 咨询framework开发同事获取

3. 特别注意:使用的系统接口不要混淆!!!

4. 未使用系统签名的app还需绕过系统HidenAPI限制

针对非 SDK 接口的限制 | Platform | Android Developers

可以考虑使用: