起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2906|回复: 7

[处理中4] cordova版本能否从5.4.1升级到最新的6.0以上

[复制链接]

1

主题

5

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
发表于 2017-4-3 20:04:26 | 显示全部楼层 |阅读模式
我使用的是WEX5 3.6版本,在发布部署一个demo程序时(程序需要下载了一个第三方的cordova插件)发现以下错误:

C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\src\com\wikitude\phonegap\WikitudePlugin.java:519: 错误: 找不到符号
                  _locationPermissionRequestRequired = !cordova.hasPermission(Manifest.permission.ACCESS_FINE_LOCATION) && !cordova.hasPermission(Manifest.permission.ACCESS_COARSE_LOCATION);
                                                               ^
        符号:   方法 hasPermission(String)
        位置: 类型为CordovaInterface的变量 cordova
      C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\src\com\wikitude\phonegap\WikitudePlugin.java:519: 错误: 找不到符号
                  _locationPermissionRequestRequired = !cordova.hasPermission(Manifest.permission.ACCESS_FINE_LOCATION) && !cordova.hasPermission(Manifest.permission.ACCESS_COARSE_LOCATION);
                                                                                                                                   ^
        符号:   方法 hasPermission(String)
        位置: 类型为CordovaInterface的变量 cordova
      C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\src\com\wikitude\phonegap\WikitudePlugin.java:524: 错误: 找不到符号
                      this.cordova.requestPermissions(this, CAMERA_PERMISSION_REQUEST_CODE, new String[] { Manifest.permission.CAMERA, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION});
                                  ^
        符号:   方法 requestPermissions(WikitudePlugin,int,String[])
        位置: 类型为CordovaInterface的变量 cordova
      C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\src\com\wikitude\phonegap\WikitudePlugin.java:526: 错误: 找不到符号
                      this.cordova.requestPermission(this, CAMERA_PERMISSION_REQUEST_CODE, Manifest.permission.CAMERA);
                                  ^
        符号:   方法 requestPermission(WikitudePlugin,int,String)
        位置: 类型为CordovaInterface的变量 cordova
      C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\src\com\wikitude\phonegap\WikitudePlugin.java:529: 错误: 找不到符号
                      this.cordova.requestPermissions(this, CAMERA_PERMISSION_REQUEST_CODE, new String[] { Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION});
                                  ^
        符号:   方法 requestPermissions(WikitudePlugin,int,String[])
        位置: 类型为CordovaInterface的变量 cordova
      C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\src\com\wikitude\phonegap\WikitudePlugin.java:1131: 错误: 方法不会覆盖或实现超类型的方法
          @Override
          ^
      注: 某些输入文件使用或覆盖了已过时的 API。
      注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
      注: 某些输入文件使用了未经检查或不安全的操作。
      注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
      15 个错误
      
      FAILURE: Build failed with an exception.
      
      * What went wrong:
      Execution failed for task ':compileDebugJavaWithJavac'.
      > Compilation failed; see the compiler error output for details.
      
      * Try:
      Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
      :compileDebugJavaWithJavac FAILED
      
      BUILD FAILED
      
      Total time: 1 mins 53.369 secs
      
      C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\cordova\node_modules\q\q.js:126
                          throw e;
                          ^
      Error code 1 for command: cmd with args: /s /c "C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\gradlew cdvBuildDebug -b C:\WeX5_V3.6\model\Native\Test1\build\src\platforms\android\build.gradle -Dorg.gradle.daemon=true --offline"
      Error: cmd: Command failed with exit code 1
   ****ERROR****: 子任务 "exec" 执行失败。
   ****ERROR****: 任务 "buildAndroid" 执行失败。
   ****ERROR****: 执行出错:
   ****ERROR****: 错误信息: exec returned: 1
   ****ERROR****: 如不能确定具体问题,可参考常见问题: http://bbs.wex5.com/thread-82002-1-1.html
   C:\Users\mark\AppData\Local\Temp\55dedf6c-6ad0-435e-9aca-f308974b5e7b\pack.xml:88: exec returned: 1
           at org.apache.tools.ant.taskdefs.ExecTask.runExecute(ExecTask.java:643)
           at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:669)
           at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495)
           at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
           at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:497)
           at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
           at org.apache.tools.ant.Task.perform(Task.java:348)
           at org.apache.tools.ant.Target.execute(Target.java:435)
           at org.apache.tools.ant.Target.performTasks(Target.java:456)
           at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
           at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
           at com.justep.deploy.app.utils.BuildHelper.execTask(Unknown Source)
           at com.justep.deploy.app.utils.Builder.main(Unknown Source)
****ERROR****: 子任务 "java" 执行失败。
****ERROR****: 任务 "pack" 执行失败。
****ERROR****: 执行出错:
****ERROR****: 错误信息: Java returned: -3
****ERROR****: 如不能确定具体问题,可参考常见问题: http://bbs.wex5.com/thread-82002-1-1.html

查了一下问题,似乎是说cordova版本6.0以上采用了新的硬件permission 策略,我用npm下载了新的版本cordova 6.5,覆盖\WeX5_V3.6\tools\cordova\目录,但问题还是存在?

请问升级cordova版本?

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-4-5 10:59:34 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

5

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
 楼主| 发表于 2017-4-6 09:12:52 | 显示全部楼层
非常感谢楼上的回复,我查看了您给到的资料,但没有发现能够解决这个问题的方法,后面我将补充这个插件上来,看看到底问题出现在哪儿?
据我目前的推断是 wex5 自带的cordova cli的版本是5, 而最新的cordova cli的版本是6.5,支持android 6版本,android 6.0以上开始有了新的硬件permission策略支持。看上面的错误提示应该是这个插件实现了cordova 6接口,而wex 5提供的是老的cordova插件接口。

我的问题是 我是否能够手工将wex5 3.6版本中的cordova cli版本进行升级到6.0以上?

无论如何,先谢谢您的回复。
回复 支持 反对

使用道具 举报

3

主题

8

帖子

26

积分

新手上路

Rank: 1

积分
26
QQ
发表于 2017-4-6 21:19:16 | 显示全部楼层
同问,怎么手动更新cordova版本 是cordova引擎的 不是插件
回复 支持 反对

使用道具 举报

1

主题

5

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
 楼主| 发表于 2017-4-7 00:07:21 | 显示全部楼层
由于论坛最多只能上传小于5M的内容,我将插件文件放在共享空间里面。
点击可以下载:http://pan.baidu.com/s/1pL58JWn
这是一个第三方公司的cordova插件,我现在使用wex5 3.6版本无法编译通过。
错误提示见一楼。谢谢!

回复 支持 反对

使用道具 举报

1

主题

5

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
 楼主| 发表于 2017-4-10 09:55:27 | 显示全部楼层
请问有人能够解决这个问题不?着急!
回复 支持 反对

使用道具 举报

50

主题

179

帖子

1088

积分

金牌会员

Rank: 6Rank: 6

积分
1088
QQ
发表于 2017-5-14 16:56:32 | 显示全部楼层
同问
回复

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-5-15 11:12:39 | 显示全部楼层
这个需要修稿WikitudePlugin.java文件的权限申请那个地方的代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 23:35 , Processed in 0.109272 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表