我尝试调用此代码:
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)
答案 0 :(得分:1)
对于此类问题,您可以做两件事:
Android Studio越来越好,但是gradle集成仍然会引起一些问题,因此仅使缓存无效并重新加载AS(使缓存无效/重新启动)。
您可以跟踪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代码即可。