在我们桌面中需要使用一些@hide修饰的api,所以我们自己会弄一个framwork包,然后在工程中引用这个包(相当于是替换了工程中默认的android.jar包),在studio中依旧会提示没找到该方法。这是由于配置的问题,所以修改一些配置就可以了。
1、首先需要在导入framework.jar包的时候,把我们平时导入的方式compile该为provide。
2、其次,在我们module(一般是主module即app)下会自动生成app.iml文件,打开这个文件,找到orderEntry这个标签,
把我们的framework.jar移动到最前面(也即移动到sdk的前面)。如:
<orderEntry type="library" exported="" name="framework" level="project" />
<orderEntry type="library" exported="" name="qiku-framework" level="project" />
<orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
3、再次,我们修改工程的build.gradle文件。增加编译选项。
在allproject标签下,repositories同级目录下,添加。
allprojects {
repositories {
maven{ url 'http://10.100.12.200:8081/nexus/content/repositories/central/'}
//jcenter()
}
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs.add('-Xbootclasspath/p:app/other_libs/qiku_framework.jar');
options.compilerArgs.add('-Xbootclasspath/p:app/other_libs/framework.jar');
}
}
}