Android Studio编译含有@SystemApi @UnsupportedAppUsage @Hide的属性,方法,类时报错

问题来源:用到系统方法WifiMnanger.ActionLinstener时Android Studio编译报错

环境:Android 12(S)

1.将系统编译好的framework-wifi.jar,framework-minus-apex.jar放在/app/libs/文件夹中

在App的build.gradle中加入以下代码

复制代码
dependencies {
	...
    compileOnly files('libs\\framework-minus-apex.jar')
    compileOnly files('libs\\framework-wifi.jar')
    ...
}

2.在项目的build.gradle中加入以下代码

复制代码
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.4.2' apply false
    id 'com.android.library' version '7.4.2' apply false
}
allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs.add('-Xbootclasspath/p:app/libs/framework-wifi.jar')
            options.compilerArgs.add('-Xbootclasspath/p:app/libs/framework-minus-apex.jar')
        }
    }

    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            Set<File> fileSet = options.bootstrapClasspath.getFiles()
            List<File> newFileList =  new ArrayList<>();
            newFileList.add(new File("app/libs/framework-wifi.jar"))
            newFileList.add(new File("app/libs/framework-minus-apex.jar"))
            newFileList.addAll(fileSet)
            options.bootstrapClasspath = files(
                    newFileList.toArray()
            )
        }
    }
}

3.还是标红,但是编译正常,运行正常

相关推荐
zzb158010 分钟前
Fragment 生命周期深度图解:从 onAttach 到 onDetach 完整流程(面试必备)
android·java·面试·安卓
众少成多积小致巨15 分钟前
Android 源码查看笔记
android·源码
angerdream19 分钟前
Android手把手编写儿童手机远程监控App之前台服务
android
billy_huang1 小时前
Capacitor的基本使用
javascript·android studio
敲代码的瓦龙2 小时前
Android?Activity!!!
android
重生之我在安卓搞音频4 小时前
二、Android 音频框架
android·音视频
studyForMokey4 小时前
【Android面试】Java专题 todo
android·java·面试
代码改善世界4 小时前
【MATLAB初阶】矩阵操作(二):矩阵的运算
android·matlab·矩阵
九皇叔叔4 小时前
MySQL实操指南:复制表及数据复制全解析
android·数据库·mysql
梦想不只是梦与想4 小时前
flutter 与 Android iOS 通信?以及实现原理(一)
android·flutter·ios·methodchannel·eventchannel·basicmessage