即使我将分钟更改为X

时间:2019-10-31 08:58:47

标签: android android-studio

我尝试调用此代码:

webView = findViewById(R.id.webView);
WebSettings settings = webView.getSettings();
settings.setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);

但是我得到Call requires API level 21 (current min is 16)

所以我打开了build.gradle并将minSdkVersion 16更改为minSdkVersion 21

apply plugin: 'com.android.application'

android {
compileSdkVersion 28
defaultConfig {
    applicationId "my_id"
    minSdkVersion 21
    targetSdkVersion 28

我还添加了:

<uses-sdk
    android:minSdkVersion="21"
    android:targetSdkVersion="27"
/>

到AndroidManifest.xml。

但是它仍然显示消息Call requires API level 21 (current min is 16)

1 个答案:

答案 0 :(得分:1)

对于此类问题,您可以做两件事:

  1. Android Studio越来越好,但是gradle集成仍然会引起一些问题,因此仅使缓存无效并重新加载AS(使缓存无效/重新启动)。

  2. 您可以跟踪AndroidManifest.xml的构建方式-它是从每个模块的清单中合并的。首先检查app/build/intermediates/merged_manifests/{buildType}/AndroidManifest.xml-这是将放入APK中的最终清单文件。如果您在此处找不到期望值,请下一步查找其合并方式-检查:app/build/outputs/logs/报告。例如,如果您发现某些库需要更大的minSdk,则可以在应用清单中覆盖它:

    <uses-sdk android:targetSdkVersion="14" android:minSdkVersion="2" tools:overrideLibrary="com.example.lib1, com.example.lib2"/>

    ,只需确保较旧的设备不会执行需要较新的SDK的lib代码即可。