Cordova Build Error:相机插件缺少android.support.v4库依赖项

rash

无法构建基于IBM MobileFirst 7.1的Cordova Android应用程序。最近将mobilefirst cli版本升级到7.1.0.00.20180302-0537

添加相机插件(org.apache.cordova.camera)后,Android构建失败,并在以下日志中提及以下错误。查看该错误,看来该插件现在需要支持库,但没有将其表示为依赖项。不太确定需要做什么来解决此问题。

-compile:
[javac] Compiling 47 source files to /Users/dev/MFPApp/platforms/android/ant-build/classes
[javac] warning: [options] source value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] target value 1.5 is obsolete and will be removed in a future release
[javac] warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
[javac] /Users/dev/MFPApp/platforms/android/src/org/apache/cordova/camera/CameraLauncher.java:56: error: package android.support.v4.content does not exist
[javac] import android.support.v4.content.FileProvider;
[javac]                                  ^
[javac] /Users/dev/MFPApp/platforms/android/src/org/apache/cordova/camera/CordovaUri.java:25: error: package android.support.v4.content does not exist
[javac] import android.support.v4.content.FileProvider;
[javac]                                  ^
[javac] /Users/dev/MFPApp/platforms/android/src/org/apache/cordova/camera/CameraLauncher.java:278: error: cannot find symbol
[javac]         this.imageUri = new CordovaUri(FileProvider.getUriForFile(cordova.getActivity(),
[javac]                                        ^
[javac]   symbol:   variable FileProvider
[javac]   location: class CameraLauncher
[javac] /Users/dev/MFPApp/platforms/android/src/org/apache/cordova/camera/CameraLauncher.java:732: error: cannot find symbol
[javac]                         Uri tmpFile = FileProvider.getUriForFile(cordova.getActivity(),
[javac]                                       ^
[javac]   symbol:   variable FileProvider
[javac]   location: class CameraLauncher
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 4 errors
[javac] 3 warnings

环境信息

OS: darwin x64
Release: 17.7.0
System Memory: 5112 MB free out of 16384 MB
Node: v0.10.36
MobileFirst CLI: 7.1.0.00.20180302-0537
Cordova:6.3.0

插件信息

cordova-plugin-mfp 7.1.0 "IBM MobileFirst Platform Foundation"
cordova-plugin-mfp-jsonstore 7.1.0 "IBM MobileFirst Platform Foundation - JSONStore"
cordova-plugin-mfp-push 7.1.0 "IBM MobileFirst Platform Foundation - Push Notifications"
org.apache.cordova.battery-status 0.2.12 "Battery"
org.apache.cordova.camera 0.3.4 "Camera"
org.apache.cordova.console 0.2.12 "Console"
org.apache.cordova.device 0.2.13 "Device"
org.apache.cordova.device-motion 0.2.11 "Device Motion"
org.apache.cordova.dialogs 0.2.11 "Notification"
org.apache.cordova.geolocation 0.3.11 "Geolocation"
org.apache.cordova.globalization 0.3.3 "Globalization"
org.apache.cordova.inappbrowser 0.5.4 "InAppBrowser"
org.apache.cordova.network-information 0.2.14 "Network Information"
org.apache.cordova.splashscreen 0.3.5 "Splashscreen"
org.apache.cordova.statusbar 0.1.9 "StatusBar"
org.apache.cordova.vibration 0.3.12 "Vibration"
维文·K

您可能遇到了一个从Android N开始的已知问题。此问题已在iFix 7.1.0.0-MFPF-IF201802160539中修复。

或者,尝试此链接中提到的步骤:

准备一个将Cordova相机插件与Android平台配合使用的项目

这些步骤是:

  • 将android-support-v4.jar文件添加到您的项目中。

    • 在文件浏览器中,浏览到您的Android SDK目录,您的Android SDK Manager在该目录中下载更新。

    • 如果尚未安装,请在您的Android环境中安装Android支持存储库。

    • 浏览至extras / android / m2repository / com / android / support / support-core-utils。
    • 选择support-core-utils存储库的版本24.2.0或更高版本。
    • 从support-core-utils-24.2.0.aar包中提取classes.jar文件。如果没有文件存档工具,则可以将.aar文件扩展名更改为.zip以提取classes.jar文件。

    • 将classes.jar文件添加到您的Android平台的libs目录中。

  • 更新AndroidManifest.xml文件。

    • 打开platform / android文件夹中的AndroidManifest.xml文件。

    • 在结束标记内添加以下行:

  <provider android:authorities="{PACKAGE_ID}.provider" android:exported="false" 
   android:grantUriPermissions="true" android:name="android.support.v4.content.FileProvider"> 
   <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths" /> 
  </provider>

其中{PACKAGE_ID}替换为项目的Android软件包ID。

  • 保存AndroidManifest.xml文件。

更新config.xml文件。

  • 打开项目文件夹中的config.xml文件。
  • 在标签内,添加以下标签:

     <preference name="applicationId" value="{PACKAGE_ID}"/>
    

{PACKAGE_ID}替换为项目的Android软件包ID的位置。

  • 保存config.xml文件。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Cordova Build Android错误

Android的Cordova Build错误

Android依赖项'com.android.support:support-v4'具有不同的版本

向Android Cordova插件添加依赖项

插件cordova无法识别,缺少库?

无法解析':app @ debug / compileClasspath'的依赖项:无法解析com.android.support:support-v4:26.1.0

Android支持库v4 RemoteControlClient依赖错误

Cordova构建失败:找不到support-v4.jar

android.support.v4库错误

TransformException:java.util.zip.ZipException:重复项:android / support / v4 / content / res / TypedArrayUtils.class

Ionic 3 Android Build错误(找不到support-v4.jar)

cordova build android删除旧版本

运行cordova build时出错–释放android

Cordova 4.1.2 CLI Android Build失败Windows

'cordova build android'无法正常工作

Cordova:如何调试 android --prod build

为什么在我的自定义库中未添加support-v4依赖项

NoClassDefFoundError android / support / v4 / animation / AnimatorCompatHelper

Jar不匹配在依赖项列表中找到2个版本的android-support-v4.jar

即使在gradle中添加了依赖项,“也无法解析类android.support.v4.widget.DrawerLayout”

Android依赖项'com.android.support:support-v4'对于编译(26.1.0)和运行时(27.1.1)类路径错误具有不同的版本

与依赖项“ com.android.support:support-annotations”冲突

android-support-v4.jar依赖错误

Cordova Build Windows错误-缺少Microsoft.WinJS.2.0

无效的文件:android-sdk-linux / extras / android / support / v7 / appcompat / build.xml

Cordova + Android Studio错误:“ com.android.build.gradle.BasePlugin”未实现插件接口

Cordova相机插件,从图库[ANDROID]获取完整的图像路径

“ cordova build android”命令上的资源重复。npm cli和Firebase插件

android.support.v4.app.FragmentActivity缺少操作栏