【发布时间】: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