Android target api 11, сборка из командной строки linux, сложный проект

Мне нужно создать apk с Linux-машины через командную строку, то есть через оболочку gradle.

В проекте настроены NDK и CMAKE для использования собственных библиотек. На данный момент для цели 29 все работает. Имеет следующую конфигурацию:

  • NDK 21.3.6528147
  • СОЗДАТЬ 3.10.2
  • sourceCompatibility VERSION_1_8.
  • buildToolsVersion "29.0.3"
  • compileSdkVersion, targetSdkVersion 29
  • com.android.tools.build:gradle:3.6.4'
  • обертка gradle distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
  • JDK 8 установлен на Linux-машине
  • Инструменты SDK (инструменты командной строки) sdk-tools-linux-3859397.zip
  • Робоэлектрик 'орг.робоэлектрик: Робоэлектрик:4.3.1'

из gradle.build, конечно, мне нужно compileSdkVersion быть 30

  1. Нужно ли мне buildToolsVersion установить на 30.0.2?
  2. Нужна ли мне конкретная версия оболочки Gradle? например, если мне нужно установить инструменты на 30.0.2 из 29.0.3. Нужно ли мне обновлять оболочку gradle до 7.1.1, например?
  3. мне нужно обновить до com.android.tools.build:gradle:7.0.2'
  4. Если мне не нужна Java VERSION_11, нужно ли мне вносить какие-либо соответствующие изменения?
  5. JDK, установленный на машине, играет какую-то роль? Мне нужно обновиться до JDK 11?
  6. Нужны ли мне последние инструменты SDK, например commandlinetools-linux-6609375_latest.zip
  7. Робоэлектрик ... какой кошмар ... Я думаю, он не работает с Java 11....

Я пробовал разные вещи, даже обновил все до последней версии. Ничего не получается, комбинации становятся бесконечными, а гуглить непонятно.

например, для обновления оболочки необходимо обновить NDK, затем NDK требует обновить cmake. cmake не поставляется с менеджером sdk версии выше 3.10, вам нужно обновить cmake вручную, установка cmake не идет с ниндзя, при установке из sdkmanager также устанавливается ниндзя, вам нужно установить ниндзя и объединить его с cmake, объединить его с ndk и т. д. ...

поэтому я просто ищу минимальные изменения в периферийных устройствах, целевом API 30 и все.

0 ответов

Другие вопросы по тегам