由于在实际使用中android源码很多方法都被@hide起来了,无法使用,据说使用反射效率又很慢,于是在eclipse中就很盛行使用自己编译好的jar去替换源码中的jar,已达到能使用@hide方法的目的。现在就来谈谈如何在androidstudio中达到这一目的。
1.classes.jar是我自己编译后的jar文件,先将其放入libs文件夹,之后在app目录下的build.gradle中添加:
dependencies {
...
provided files('libs/classes.jar')
}
2.其后在根目录下的buidle.gradle中添加
allprojects {
//添加以下代码,使classes.jar包编译先于android.jar
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xbootclasspath/p:app\\libs\\classes.jar')
}
}
}
之后再使用中虽然引用方法依然被红线标注,可是编译运行能通过。