使用 Capacitor 安装 BackgroundGeolocation 插件后,无法在 Android 上构建 Ionic 应用程序

Ale*_*fan 1 android ionic-framework ionic-native capacitor

我正在尝试将我的应用程序从 Cordova 迁移到 Capacitor,但我仍然需要使用诸如后台地理定位之类的功能。为此,我正在使用这个插件:https : //ionicframework.com/docs/native/background-geolocation

所以,为了测试这个,我创建了一个新的应用程序,添加了 Capacitor 并安装了这个插件。如此处所述(https://github.com/ionic-team/capacitor/issues/2529#issuecomment-603205348),我将此行添加到我的字符串文件中:

<string name="mauron85_bgloc_account_name">@string/app_name</string>
<string name="mauron85_bgloc_account_type">$PACKAGE_NAME.account</string>
<string name="mauron85_bgloc_content_authority">$PACKAGE_NAME</string>
Run Code Online (Sandbox Code Playgroud)

在那之后,我跑了 npx cap sync

现在,每当我尝试构建应用程序时,都会收到以下错误: Execution failed for task ':capacitor-cordova-android-plugins:compileDebugJavaWithJavac'.

在我的控制台中,上面有很多缺失的导入错误,如下所示:

C:\Users\zxy\Desktop\mobile_apps\testApp\android\capacitor-cordova-android-plugins\src\main\java\com\evgenii\jsevaluator\JsEvaluator.java:4: error: package android.support.annotation does not exist
import android.support.annotation.VisibleForTesting;
> C:\Users\zxy\Desktop\mobile_apps\testApp\android\capacitor-cordova-android-plugins\src\main\java\com\marianhello\bgloc\BackgroundGeolocationFacade.java:17: error: package android.support.v4.content does not exist
> import android.support.v4.content.ContextCompat;
>                                  ^
> C:\Users\zxy\Desktop\mobile_apps\testApp\android\capacitor-cordova-android-plugins\src\main\java\com\marianhello\bgloc\BackgroundGeolocationFacade.java:18: error: package android.support.v4.content does not exist
> import android.support.v4.content.LocalBroadcastManager;
Run Code Online (Sandbox Code Playgroud)

知道如何让这个插件与 Capacitor 一起工作吗?

小智 10

我已经得到它最终建立。

error: package android.support.annotation does not exist 通过$ npx jetifier从项目根目录运行修复了以下错误(和相关错误) 。

来源:https : //github.com/ionic-team/capacitor/issues/1937

还建议将其合并到安装后挂钩中。希望这会有所帮助!