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

相关推荐
37手游移动客户端团队10 小时前
招聘-高级安卓开发工程师
android·客户端
用户416596736935511 小时前
WebView 请求异常排查操作手册
android·前端
Kapaseker12 小时前
学不动了,入门 Compose Styles API
android·kotlin
墨狂之逸才1 天前
Android TV WebView 遥控器按键处理:从全透传到白名单
android
plainGeekDev1 天前
MVC 写法 → MVVM
android·java·kotlin
恋猫de小郭1 天前
Flutter Patchwork,不用 Fork 改依赖包源码的第三方工具
android·前端·flutter
三少爷的鞋2 天前
“结构化”这个词,本质上就是——把混乱的东西变成有组织、有规则、有边界的东西
android
方白羽2 天前
Android Gradle 缓存与文件目录深度解析
android·gradle·android studio
曲幽2 天前
Termux里的二进制和脚本,到底怎么运行才不踩坑?Termux-service 保活妙招!
android·termux·nohup·services·wake-lock
plainGeekDev2 天前
单例模式 → object 声明
android·java·kotlin