Обойти Min SDK Version - или что еще? - PullRequest
0 голосов
/ 29 мая 2020

Я начинаю с флаттера, и в целом у меня появляется идея, но я столкнулся с проблемой, которая, на мой взгляд, является одной из основных причин рассмотреть возможность перехода с HTML + JQueryMobile: реализация речи в текст.

Я нашел пакет speech_to_text (https://pub.dev/packages/speech_to_text# -installing-tab- ), следуя инструкциям, чтобы: 1. обновить файл pubspe c .yaml с зависимостью и 2. установить пакет из командной строки 3. Импортируйте пакет в коде

, но столкнулись с минимальными требованиями SDK, которые не выполняются пакетом. Вот сообщение об ошибке:

C: \ Users \ TOTAL \ FlutterPro \ Flutter4 \ flutter4 \ android \ app \ src \ debug \ AndroidManifest. xml Ошибка: использует- sdk: minSdkVersion 16 не может быть меньше, чем версия 21, заявленная в библиотеке [: speech_to_text] C: \ Users \ TOTAL \ FlutterPro \ Flutter4 \ flutter4 \ build \ speech_to_text \ intermediate \ library_manifest \ debug \ AndroidManifest. xml в качестве библиотеки может использовать API, недоступные в 16. Предложение: используйте совместимую библиотеку с minSdk не более 16, или увеличьте версию minSdk этого проекта как минимум до 21, или используйте tools: overrideLibrary = "com.csdcorp.speech_to_text" для принудительного использования ( может привести к сбоям во время выполнения)

FAILURE: Сборка завершилась неудачно с исключением.

  • Что пошло не так: Выполнение не удалось для задачи ': app: processDebugManifest'.

    Не удалось объединить манифест: uses-sdk: minSdkVersion 16 не может быть меньше версии 21, объявленной в библиотеке [: speech_to_text] C: \ Users \ TOTAL \ FlutterPro \ Flutter4 \ flu tter4 \ build \ Speech_to_text \ intermediate \ library_manifest \ debug \ AndroidManifest. xml, поскольку библиотека может использовать API, недоступные в 16. Предложение: используйте совместимую библиотеку с minSdk не более 16 или увеличьте версию minSdk этого проекта до at минимум 21, или используйте tools: overrideLibrary = "com.csdcorp.speech_to_text" для принудительного использования (может привести к сбоям во время выполнения)

  • Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека. Запустите с параметром --info или --debug, чтобы получить больше результатов журнала. Запустите с --scan, чтобы получить полную информацию.

  • Получите дополнительную помощь по телефону https://help.gradle.org

СБОЙ СБОРКИ в 11s Исключение: задача Gradle AssemblyDebug завершилась неудачно с кодом выхода 1

Как ни странно, мне удалось обойти это один раз, но сейчас не могу найти соответствующий фрагмент кода в папке приложения. Хуже того, упомянутый файл

> C:\Users\TOTAL\FlutterPro\Flutter4\flutter4\android\app\src\debug\AndroidManifest.xml
does not contain any reference to SDK, only this:
< <manifest
 <xmlns:android="http://schemas.android.com/apk/res/android"
  <   package="com.example.flutter4">
>     <!-- Flutter needs it to communicate with the running application
>          to allow setting breakpoints, to provide hot reload, etc.
>     -->
>     <uses-permission android:name="android.permission.INTERNET"/> </manifest>

As for the other mentioned file, which looks like this: 


> <?xml version="1.0" encoding="utf-8"?> <manifest
> xmlns:android="http://schemas.android.com/apk/res/android"
>     package="com.csdcorp.speech_to_text" >
> 
>     <uses-sdk android:minSdkVersion="21" />
> 
> </manifest>

изменение 21 на 16 отменяется после попытки запустить это приложение.

Как с этим справиться 1. технически, ie. как можно обойти это ограничение minSDK - по крайней мере, стоит попробовать? 2. Шаг назад, если есть проблемы с версиями, как их избежать? Большое спасибо

1 Ответ

0 голосов
/ 29 мая 2020

Отредактируйте файл build.gradle в папке приложения. Найдите defaultConfig, измените minSdkVersion с 16 на 21.

Путь к файлу.

android\app\build.gradle
...