You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WebView应用打包报错:需用-Xlint:deprecation重编译查看详情

解决WebView项目编译废弃API报错并打包发布到Play Store

第一步:查看具体的废弃API详情

要定位到底是哪些API被废弃,需要在项目的app/build.gradle文件中添加编译参数,开启-Xlint:deprecation提示:

  1. 打开Module级别的app/build.gradle(不是Project根目录的配置文件)
  2. 在android代码块内,添加编译参数配置:
android {
    // 其他原有配置...

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
        // 开启废弃API详细提示
        compilerArgs.add("-Xlint:deprecation")
    }

    // 或者针对所有Java编译任务统一配置
    tasks.withType(JavaCompile) {
        options.compilerArgs.add("-Xlint:deprecation")
    }
}
  1. 同步Gradle后,执行Build>Make Project,此时控制台会输出具体哪一行代码使用了废弃API,以及对应的替代方案。

第二步:替换废弃API(WebView常见场景示例)

根据控制台的具体提示,将废弃API替换为当前推荐的版本,以下是WebView项目中高频出现的废弃场景:

  • 旧版URL拦截方法:
    废弃代码:

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        // 自定义逻辑
        return super.shouldOverrideUrlLoading(view, url);
    }
    

    替换为适配API 24+的新版方法:

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        String url = request.getUrl().toString();
        // 保留原自定义逻辑
        return super.shouldOverrideUrlLoading(view, request);
    }
    

    如需兼容低版本,可同时保留两个方法,但优先使用新版逻辑。

  • 缓存配置API:
    废弃写法:

    webSettings.setAppCacheEnabled(true);
    

    替换为:

    webSettings.setCacheMode(WebSettings.LOAD_DEFAULT);
    
  • 本地资源加载:
    加载assets目录资源时,推荐使用标准路径写法,避免依赖废弃的路径拼接方式:

    webView.loadUrl("file:///android_asset/index.html");
    

第三步:适配Play Store发布要求

解决编译错误后,需确认以下配置符合Play Store政策:

  • 在app/build.gradle的defaultConfig中,将targetSdkVersion设置为34或更高:
    defaultConfig {
        // 其他配置...
        targetSdkVersion 34
    }
    
  • 确保AndroidManifest.xml中声明了WebView必要的权限:
    <uses-permission android:name="android.permission.INTERNET" />
    
  • 导出签名包时使用有效的Keystore文件,确保别名、密码等信息正确无误。

第四步:重新导出签名包

完成所有修改后,再次执行Build>Generate Signed Bundle/Apk,优先选择Android App Bundle格式(Play Store官方推荐),按照流程完成签名导出即可。

内容的提问来源于stack exchange,提问作者Md Belal Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 02:27:50