0

我需要通过命令行从linux机器构建一个apk,所以通过gradle wrapper。

该项目已将 NDK 和 CMAKE 配置为使用本机库。目前对于目标 29,一切正常。它具有以下配置:

  • NDK 21.3.6528147
  • CMAKE 3.10.2
  • 源兼容性 VERSION_1_8。
  • 构建工具版本“29.0.3”
  • 编译SdkVersion,targetSdkVersion 29
  • com.android.tools.build:gradle:3.6.4'
  • 梯度包装器distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
  • JDK 8 安装在 linux 机器上
  • SDK工具(命令行工具)sdk-tools-linux-3859397.zip
  • Robolectric 'org.robolectric:robolectric:4.3.1'

来自 gradle.build ,当然我需要 compileSdkVersion30

  1. 我需要buildToolsVersion设置为 30.0.2 吗?
  2. 我需要特定的 gradle 包装器版本吗?例如,如果我需要将工具从 29.0.3 设置为 30.0.2,我是否需要将 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. Robolectric ......真是一场噩梦......我认为它不适用于 Java 11......

我已经尝试了各种东西,甚至将所有内容更新到最新版本。没有任何效果,组合变得无穷无尽,谷歌也不清楚。

例如更新包装器需要更新NDK,然后NDK 需要更新cmake。sdk manager 3.10以上版本不附带cmake,您需要手动更新cmake,cmake安装不附带ninja,而从sdkmanager安装也安装ninja,您需要安装ninja并将其与cmake结合使用ndk等...

所以我们只是在寻找对外围设备、目标 API 30 的最小更改,仅此而已。

4

0 回答 0