Android 成功构建后由于google play服务导致的离子投掷错误
在这上面花了两天的时间,我快发疯了。。。 我有一个爱奥尼亚项目,一直运作得很好。我无意中将ionic升级到了v5,这造成了巨大的破坏,在解决问题的过程中,我停止了升级其他东西(Android库、cordova、npm等)。尽管我最终通过降级ionic版本修复了错误,但我现在在构建过程中出现了以下错误:Android 成功构建后由于google play服务导致的离子投掷错误,android,cordova,ionic-framework,ionic3,Android,Cordova,Ionic Framework,Ionic3,在这上面花了两天的时间,我快发疯了。。。 我有一个爱奥尼亚项目,一直运作得很好。我无意中将ionic升级到了v5,这造成了巨大的破坏,在解决问题的过程中,我停止了升级其他东西(Android库、cordova、npm等)。尽管我最终通过降级ionic版本修复了错误,但我现在在构建过程中出现了以下错误: > Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) w
> Transform play-services-basement.aar (com.google.android.gms:play-services-basement:17.0.0) with AarTransform
> Transform play-services-measurement-base.aar (com.google.android.gms:play-services-measurement-base:17.1.0) with AarTransform
> Transform play-services-measurement-sdk-api.aar (com.google.android.gms:play-services-measurement-sdk-api:17.1.0) with AarTransform
> Transform play-services-ads-lite.aar (com.google.android.gms:play-services-ads-lite:18.3.0) with AarTransform
> Transform play-services-ads-identifier.aar (com.google.android.gms:play-services-ads-identifier:17.0.0) with AarTransform
> Transform play-services-tasks.aar (com.google.android.gms:play-services-tasks:17.0.0) with AarTransform
> Transform play-services-gass.aar (com.google.android.gms:play-services-gass:18.3.0) with AarTransform
> Transform legacy-support-v4.aar (androidx.legacy:legacy-support-v4:1.0.0) with AarTransform
> Transform play-services-ads.aar (com.google.android.gms:play-services-ads:18.3.0) with AarTransform
> Transform play-services-base.aar (com.google.android.gms:play-services-base:17.1.0) with AarTransform
> Transform play-services-audience.aar (com.google.android.gms:play-services-audience:17.0.0) with AarTransform
> Transform play-services-drive.aar (com.google.android.gms:play-services-drive:17.0.0) with AarTransform
> Transform play-services-plus.aar (com.google.android.gms:play-services-plus:17.0.0) with AarTransform
> Transform play-services-games.aar (com.google.android.gms:play-services-games:19.0.0) with AarTransform
> Task :app:generateReleaseResValues
> Task :app:generateReleaseResources
> Task :app:mergeReleaseResources
> Task :app:createReleaseCompatibleScreenManifests
> Task :app:processReleaseManifest
> Task :app:processReleaseResources
> Task :app:compileReleaseJavaWithJavac FAILED
25 actionable tasks: 25 executed
/home/myuser/Desktop/ionic/MyProject/platforms/android/app/src/main/java/com/berriart/cordova/plugins/GameHelper.java:43: error: package com.google.android.gms.games.request does not exist
import com.google.android.gms.games.request.GameRequest;
^
/home/myuser/Desktop/ionic/MyProject/platforms/android/app/src/main/java/com/berriart/cordova/plugins/GameHelper.java:174: error: cannot find symbol
ArrayList<GameRequest> mRequests;
^
symbol: class GameRequest
location: class GameHelper
/home/myuser/Desktop/ionic/MyProject/platforms/android/app/src/main/java/com/berriart/cordova/plugins/GameHelper.java:492: error: cannot find symbol
public ArrayList<GameRequest> getRequests() {
^
symbol: class GameRequest
location: class GameHelper
/home/myuser/Desktop/ionic/MyProject/platforms/android/app/src/main/java/com/berriart/cordova/plugins/GameHelper.java:714: error: cannot find symbol
mRequests = Games.Requests
^
symbol: variable Requests
location: class Games
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /home/myuser/Desktop/ionic/MyProject/platforms/android/app/src/main/java/nl/xservices/plugins/SocialSharing.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:compileReleaseJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
我看到一些帖子谈到为play services游戏提供特定版本,所以我提供了基于此页面的版本。然而,这没有帮助。如果我需要提供特定版本,我应该提供什么
令人恼火的是,这个代码昨天工作得非常好,直到我把事情搞砸了
Ionic:
ionic (Ionic CLI) : 4.10.3 (/home/myuser/.npm-global/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 4.11.5
@angular-devkit/build-angular : 0.801.3
@angular-devkit/schematics : 8.1.3
@angular/cli : 8.1.3
@ionic/angular-toolkit : 2.1.1
Cordova:
cordova (Cordova CLI) : 9.0.0 (cordova-lib@9.0.1)
Cordova Platforms : android 8.1.0
Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 4.1.3, (and 14 other plugins)
System:
Android SDK Tools : 26.1.1 (/home/myuser/Android/Sdk)
NodeJS : v12.13.1 (/usr/bin/node)
npm : 6.12.1
OS : Linux 4.18
如果你能就这个问题提供一点建议,我将不胜感激
非常感谢,
道格我也有同样的问题,正如emirc提到的,这可以归结为11月19日发布的com.google.android.gms:play services games不赞成实时和基于回合的多人游戏API。见: 在我的例子中,依赖关系是由artberri/cordova插件play games服务拉出来的,如果我参考您的错误日志,您的情况似乎是一样的。在更新此插件之前,我们必须坚持使用18.0.1版本的依赖项,这可以通过在添加时设置ANDROID_PLAY_SERVICES_GAMES_版本轻松完成:
cordova plugin add cordova-plugin-play-games-services --variable APP_ID=<...> --variable ANDROID_PLAY_SERVICES_GAMES_VERSION=18.0.1
cordova插件添加cordova插件玩游戏服务——变量APP\u ID=——变量ANDROID\u play\u services\u games\u VERSION=18.0.1
我也有同样的问题,正如emirc所提到的,这可以归结为11月19日发布的com.google.android.gms:play services games不支持实时和基于回合的多人游戏API。见:
在我的例子中,依赖关系是由artberri/cordova插件play games服务拉出来的,如果我参考您的错误日志,您的情况似乎是一样的。在更新此插件之前,我们必须坚持使用18.0.1版本的依赖项,这可以通过在添加时设置ANDROID_PLAY_SERVICES_GAMES_版本轻松完成:
cordova plugin add cordova-plugin-play-games-services --variable APP_ID=<...> --variable ANDROID_PLAY_SERVICES_GAMES_VERSION=18.0.1
cordova插件添加cordova插件玩游戏服务——变量APP\u ID=——变量ANDROID\u play\u services\u games\u VERSION=18.0.1
GameRequest类不再存在于play服务中。它在2017年被弃用。因此,您也应该将该依赖关系获取到最初的安装版本。。。这是最新版本:com.google.android.gms:play services games:19.0.0Hi emirc,非常感谢您的回答。你能帮我弄清楚怎么做吗?我是否将版本号放在com.google.android.gms:play services games:19.0.0的project.properties中?还是我需要为每件事都输入版本号?还是我要做点别的?当我查看do日志时,看起来版本已经是19.0.0(>Transform play-services-games.aar(com.google.android.gms:play-services games:19.0.0)和AarTransform),但我需要硬编码吗?play服务中不再存在GameRequest类。它在2017年被弃用。因此,您也应该将该依赖关系获取到最初的安装版本。。。这是最新版本:com.google.android.gms:play services games:19.0.0Hi emirc,非常感谢您的回答。你能帮我弄清楚怎么做吗?我是否将版本号放在com.google.android.gms:play services games:19.0.0的project.properties中?还是我需要为每件事都输入版本号?还是我要做点别的?当我查看do日志时,看起来版本已经是19.0.0(>Transform play-services-games.aar(com.google.android.gms:play-services-games:19.0.0)和AarTransform),但是我需要硬编码吗?