Мне нужно обновить мой проект Xamarin до API 34 в соответствии с политикой Google Play. Я изменил targetSdkVersion на 34, но безуспешно. Мне нужно заархивировать проект в формате *.aab до 1 ноября.
Я получил ошибку, как показано ниже
Skipping target "_CompileToDalvik" because all output files are up-to-date with respect to the input files.
Creating "obj\Release\130\android\assets\shrunk\shrunk.flag" because "AlwaysCreate" was specified.
The TargetFrameworkVersion (Android API level 33) is lower than the targetSdkVersion (34). Please increase the `$(TargetFrameworkVersion)` or decrease the `android:targetSdkVersion` in the `AndroidManifest.xml` so that the API levels match.
XABBA7024: Xamarin.Tools.Zip.ZipIOException: The file 'obj\Release\130\android\bin\base.zip' is not a ZIP archive.
at Xamarin.Tools.Zip.ZipArchive.Open(String path, FileMode mode, String defaultExtractionDir, Boolean strictConsistencyChecks, IPlatformOptions options) in /Users/runner/work/1/s/LibZipSharp/Xamarin.Tools.Zip/ZipArchive.cs:line 282
at Xamarin.Android.Tasks.BuildApk.ExecuteWithAbi(String[] supportedAbis, String apkInputPath, String apkOutputPath, Boolean debug, Boolean compress, IDictionary`2 compressedAssembliesInfo, String assemblyStoreApkName)
at Xamarin.Android.Tasks.BuildApk.RunTask()
at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 17
Done building project "Project.Droid.csproj" -- FAILED.
Build FAILED.
Я пытался
Убедиться, что API 34 успешно загружен по пути C:\Program Files (x86 )\Android\android-sdk\platforms
Включить AndroidX Migrator (экспериментальный)
Пытаюсь очистить -> закрыть проект -> удалите папки bin и obj и попытайтесь повторно открыть проект. У меня по-прежнему та же проблема.
Убедитесь, что в моем манифесте для targetSdkVersion установлено значение 34 как для выпускной, так и для отладочной версии.
Пытаюсь запустить мою VS2022 с правами администратора.
Добавьте v14.0 в файл .csproj
Пытаюсь заменить базовый zip-файл из сборки SDK 33 на 34, но безуспешно.
Обновление инструментов SDK и инструментов сборки до последней версии
Создайте новый пустой проект из шаблона (проект Xamarin) и измените значение targetSdkVersion на 34, но все равно получите ту же ошибку.
Вот мой AndroidManifest.xml
Вот мой AndroidManifest.xml
code>, я просто меняю targetSdkVersion с 33 на 34, как показано ниже
Мне нужно обновить мой проект Xamarin до API 34 в соответствии с политикой Google Play. Я изменил targetSdkVersion на 34, но безуспешно. Мне нужно заархивировать проект в формате *.aab до 1 ноября. Я получил ошибку, как показано ниже [code]Skipping target "_CompileToDalvik" because all output files are up-to-date with respect to the input files. Creating "obj\Release\130\android\assets\shrunk\shrunk.flag" because "AlwaysCreate" was specified. The TargetFrameworkVersion (Android API level 33) is lower than the targetSdkVersion (34). Please increase the `$(TargetFrameworkVersion)` or decrease the `android:targetSdkVersion` in the `AndroidManifest.xml` so that the API levels match. XABBA7024: Xamarin.Tools.Zip.ZipIOException: The file 'obj\Release\130\android\bin\base.zip' is not a ZIP archive. at Xamarin.Tools.Zip.ZipArchive.Open(String path, FileMode mode, String defaultExtractionDir, Boolean strictConsistencyChecks, IPlatformOptions options) in /Users/runner/work/1/s/LibZipSharp/Xamarin.Tools.Zip/ZipArchive.cs:line 282 at Xamarin.Android.Tasks.BuildApk.ExecuteWithAbi(String[] supportedAbis, String apkInputPath, String apkOutputPath, Boolean debug, Boolean compress, IDictionary`2 compressedAssembliesInfo, String assemblyStoreApkName) at Xamarin.Android.Tasks.BuildApk.RunTask() at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 17 Done building project "Project.Droid.csproj" -- FAILED. Build FAILED. [/code] Я пытался [list] [*]Убедиться, что API 34 успешно загружен по пути C:\Program Files (x86 )\Android\android-sdk\platforms [*]Включить AndroidX Migrator (экспериментальный) [*]Пытаюсь очистить -> закрыть проект -> удалите папки bin и obj и попытайтесь повторно открыть проект. У меня по-прежнему та же проблема. [*]Убедитесь, что в моем манифесте для targetSdkVersion установлено значение 34 как для выпускной, так и для отладочной версии. [*]Пытаюсь запустить мою VS2022 с правами администратора. [*]Добавьте v14.0 в файл .csproj [*]Пытаюсь заменить базовый zip-файл из сборки SDK 33 на 34, но безуспешно. [*]Обновление инструментов SDK и инструментов сборки до последней версии [*] Создайте новый пустой проект из шаблона (проект Xamarin) и измените значение targetSdkVersion на 34, но все равно получите ту же ошибку. [/list] Вот мой AndroidManifest.xml
Вот мой AndroidManifest.xml
code>, я просто меняю targetSdkVersion с 33 на 34, как показано ниже [code] [/code] [b]Вывод:[/b] [list] [*]Если бы я вернулся к API 33, все крутится нормально. Я могу заархивировать файл aab как обычно. [*]Если возникает ошибка, файлы base.zip в папке \obj\Release\130\android\bin будет поврежден. [*]Эта проблема возникает как в режиме выпуска, так и в режиме отладки. [*]Процесс очистки, сборки и повторной сборки прошел успешно, но архив не удалось создать. [*]И APK, и формат пакета AAB вызывают схожую проблему. [/list] Версия для Android [list] [*]Инструменты Android SDK Plaftorm версии 34.0.3 [*]Инструменты командной строки Android SDK версии 7.0 [*]Android SDK Build-tools 33.0.2 [/list] Моя версия Visual Studio [code]Microsoft Visual Studio Enterprise 2022 Version 17.6.4 [/code] Я прочитал несколько статей по этому вопросу, но не нашел подходящего решения. Есть идеи? Спасибо