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

相关推荐
帅得不敢出门9 小时前
安卓设备adb执行AT指令控制电话卡
android·adb·sim卡·at指令·电话卡
我又来搬代码了10 小时前
【Android】使用productFlavors构建多个变体
android
德育处主任12 小时前
Mac和安卓手机互传文件(ADB)
android·macos
芦半山12 小时前
Android“引用们”的底层原理
android·java
迃-幵12 小时前
力扣:225 用队列实现栈
android·javascript·leetcode
大风起兮云飞扬丶13 小时前
Android——从相机/相册获取图片
android
Rverdoser13 小时前
Android Studio 多工程公用module引用
android·ide·android studio
aaajj13 小时前
[Android]从FLAG_SECURE禁止截屏看surface
android
@OuYang13 小时前
android10 蓝牙(二)配对源码解析
android
Liknana13 小时前
Android 网易游戏面经
android·面试