![](/img/trans.png)
[英]Flutter Android app not running setting compileSdkVersion and targetSdkVersion to SDK 31
[英]"App not installed" after setting compileSdkVersion & targetSdkVersion to 31 (Android 12)
我刚刚将我们的应用程序更新为以下构建设置:
buildToolsVersion = "30.0.2"
minSdkVersion = 23
compileSdkVersion = 31
targetSdkVersion = 31
ndkVersion = "21.4.7075529"
androidXCore = "1.0.2"
playServicesVersion = "17.0.0"
并且应用程序不再安装,消息只是“应用程序未安装”。 为了将 go 从目标 android 11 转移到现在的目标 android 12,我遵循了一些迁移指南,我看不到任何我可能错过的东西。
有没有人遇到过这个并且想不出我需要做的事情。
我正在测试的手机是android 11 手机,但仅通过更改目标编译版本仍然不会影响安装,对吗?
完整的 AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="uk.co.mycompany">
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.DOWNLOAD_COMPLETE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="*/*" />
</intent>
</queries>
<application
android:name="uk.co.mycompany.MainApplication"
android:label="@string/app_name"
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
android:allowBackup="false"
android:usesCleartextTraffic="true"
android:theme="@style/BootTheme"
android:screenOrientation="portrait"
android:requestLegacyExternalStorage="true"
>
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/GOOGLE_GEO_API_KEY"
/>
<meta-data
android:name="com.google.android.gms.wallet.api.enabled"
android:value="true"
/>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"
/>
<activity
android:name="uk.co.mycompany.MainActivity"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustResize"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="mycompany" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
请在我们定义意图过滤器的每个活动、服务、接收器中添加 android:exported="false/true"(请同时检查第三方库)。 请参阅以下链接以获取开发人员门户网站的指南。
https://developer.android.com/about/versions/12/behavior-changes-12#exported
第一步:将targetSdkVersion & compileSdkVersion改为31
buildscript {
ext {
buildToolsVersion = "30.0.2"
minSdkVersion = 21
compileSdkVersion = 33
targetSdkVersion = 33
}
}
第 2 步:打开清单文件并
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package=".. "
android:exported="true" <-- add this
>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:exported="true". <-- add this
>
<intent-filter
android:exported="false" <-- add this
>
第 3 步:(最重要的)打开 android/app/build.gradle 文件
implementation 'androidx.work:work-runtime:2.7.1' <-- add this in dependencies
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.