Android Studio 升级到Android API Level 33无法启动模拟器中的主Activity

6rvt4ljy  于 12个月前  发布在  Android
关注(0)|答案(1)|浏览(244)

我有一个react-native应用程序,我正试图根据最新的Android版本要求升级到使用Android API级别33。
在我的清单中,如果我具有以下设置,我的应用将构建并运行:

buildToolsVersion   = "33.0.0"
minSdkVersion       = 23
compileSdkVersion   = 33
targetSdkVersion    = 32
ndkVersion          = "23.1.7779620"

但是,如果我只是将targetSdkVersion更改为33,我的应用程序会成功构建,但无法启动,并出现错误:

Starting: Intent { cmp=com.myapp.debug/com.myapp.MainActivity }
Error type 3
Error: Activity class {com.myapp.debug/com.myapp.MainActivity} does not exist.

我可以从模拟器中手动启动我的应用程序,但我想知道如何解决这个启动问题。活动名称com.myapp.debug/com.myapp.MainActivity是正确的。我在logcat中看不到任何特别的东西。

  • 注意:我尝试过清理构建、删除构建目录、重新启动模拟器/ Android Studio、清除gradle缓存、使Android Studio中的缓存无效、通过adb和模拟器卸载应用,但没有成功。如果我将targetSdkVersion降级到32,一切立即恢复正常。*

任何帮助/想法将不胜感激!

ubbxdtey

ubbxdtey1#

如果您使用的是Expo,则存在与目标SDK 33(Fix deviceName exception on android sdk > 31)相关的修复程序。检查您使用的是哪个版本,或者在patch-package设备包中进行此更改:
改变它

"deviceName" to Settings.Secure.getString(mContext.contentResolver, "bluetooth_name")

"deviceName" to run {
  if (Build.VERSION.SDK_INT <= 31)
    Settings.Secure.getString(mContext.contentResolver, "bluetooth_name")
  else
    Settings.Global.getString(mContext.contentResolver, Settings.Global.DEVICE_NAME)
},

相关问题