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.还是标红,但是编译正常,运行正常

相关推荐
凛_Lin~~1 小时前
安卓接入Twitter三方登录
android·java·twitter
半夏微凉半夏殇2 小时前
VSCode Remote-SSH:无缝远程开发完全指南
ide·vscode·ssh
.豆鲨包2 小时前
【Android】Lottie - 实现炫酷的Android导航栏动画
android·java
消失的旧时光-19432 小时前
Android WebView 从入门到最佳实践
android·webview
来来走走3 小时前
kotlin学习 基础知识一览
android·开发语言·kotlin
名剑走天下9 小时前
VScode中模拟lvgl运行环境配置
ide·vscode·编辑器·lvgll
雨白9 小时前
StateFlow 与 SharedFlow:在协程中管理状态与事件
android·kotlin
WAsbry10 小时前
NFC开发系列专栏 - 第三篇:无界面NFC后台服务方案
android·程序员·架构
消失的旧时光-194310 小时前
WebView 最佳封装模板(BaseWebActivity + WebViewHelper)
android·webview
WAsbry10 小时前
NFC开发系列-第一篇:NFC开发基础与实战入门
android·程序员