【问题标题】:Building ionic cordova app for Android SDK Platform 30为 Android SDK Platform 30 构建 ionic cordova 应用程序
【发布时间】:2021-11-13 00:36:35
【问题描述】:

Android Play 商店要求我针对新版本的 API 级别 30,但目前似乎不支持开箱即用。

我尝试构建默认的 ionic cordova 应用程序: ionic start MyApp sidemenu --cordova ...并选择 Angular

然后我将 SDK 目标添加到 confix.xml:<preference name="android-targetSdkVersion" value="30" /> 到 config.xml

...删除白名单插件,因为 API 级别 30 不需要它:cordova plugin remove cordova-plugin-whitelist

...并添加android平台:ionic cordova platform add android@10.1.1

当我构建它时:ionic cordova build android 我得到这些错误:

> Task :CordovaLib:compileDebugJavaWithJavac
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

> Task :app:compileDebugJavaWithJavac FAILED
C:\Projects\a10\platforms\android\app\src\main\java\com\ionicframework\cordova\webview\IonicWebViewEngine.java:11: error: package android.support.annotation does not exist
import android.support.annotation.RequiresApi;
                                 ^
C:\Projects\a10\platforms\android\app\src\main\java\com\ionicframework\cordova\webview\IonicWebViewEngine.java:137: error: cannot find symbol
    @RequiresApi(Build.VERSION_CODES.LOLLIPOP)
     ^
  symbol:   class RequiresApi
  location: class com.ionicframework.cordova.webview.IonicWebViewEngine.ServerClient
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

这里是存储库:https://github.com/geleto/a10 ...这是离子信息:

Ionic:

   Ionic CLI                     : 6.17.1 (C:\Users\gelet\AppData\Roaming\npm\node_modules\@ionic\cli)
   Ionic Framework               : @ionic/angular 5.8.0
   @angular-devkit/build-angular : 12.1.4
   @angular-devkit/schematics    : 12.1.4
   @angular/cli                  : 12.1.4
   @ionic/angular-toolkit        : 4.0.0

Cordova:

   Cordova CLI       : 10.0.0
   Cordova Platforms : 6.0.0, android 10.1.1, browser
   Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.2.1, (and 3 other plugins)

Utility:

   cordova-res : not installed globally
   native-run  : not installed globally

System:

   Android SDK Tools : 26.1.1 (C:\Users\gelet\AppData\Local\Android\Sdk)
   NodeJS            : v14.17.5 (C:\Program Files\nodejs\node.exe)
   npm               : 6.14.14
   OS                : Windows 10

【问题讨论】:

  • 你确定你已经从 android studio(SDK 管理器)安装了 sdk 30...你给定的错误非常广泛,尤其是对于 android...构建版本中受影响的部分是插件你有(插件可能被开发为处理到 sdk 29,所以它们会在 sdk 30 时崩溃)但总的来说它应该进行构建,因为 cordova 版本 10 支持 android sdk 30 ......所以你需要了解细节并了解小细节...并确保您已安装 androidx 插件及其适用于 sdk 28.+ 的适配器,以防您尚未这样做,因为它也会影响 +28 sdk 构建失败..
  • 我只安装了 API 版本 30 的 SDK 和构建工具。添加android平台时,目标版本列为30。该应用程序是新生成的默认离子应用程序,这里没有花哨的插件。 AndroidX 适用于旧版 Android 8 代码,在这里没有多大帮助。

标签: cordova ionic-framework ionic5


【解决方案1】:

通过将<preference name="AndroidXEnabled" value="true" /> 添加到 config.xml 并安装 cordova-plugin-androidx-adapter 来构建它

【讨论】:

  • 大声笑告诉这样的事情可能会导致问题...
猜你喜欢
  • 1970-01-01
  • 2018-05-03
  • 2021-11-01
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多