【已解决】Android Studio中编译Osmand出错:Error找不到符号变量mx_highway_speed_camera

【问题】

折腾:

【记录】Android Studio中导入OsmAnd并编译

期间,编译出现错误:

E:\crifan\DevRoot\Osmand-master\OsmAnd\src\net\osmand\plus\helpers\WaypointHelper.java
Error:(687, 56) 错误: 找不到符号
符号:   变量 mx_highway_speed_camera
位置: 类 drawable
Error:(689, 56) 错误: 找不到符号
符号:   变量 mx_barrier_border_control
位置: 类 drawable
Error:(703, 56) 错误: 找不到符号
符号:   变量 mx_barrier_toll_booth
位置: 类 drawable
E:\crifan\DevRoot\Osmand-master\OsmAnd\src\net\osmand\plus\activities\MapActivityLayers.java
Error:(307, 22) 错误: 找不到符号
符号:   变量 mx_user_defined
位置: 类 drawable
E:\crifan\DevRoot\Osmand-master\OsmAnd\src\net\osmand\plus\views\RouteLayer.java
Error:(131, 90) 错误: 找不到符号
符号:   变量 h_arrow
位置: 类 drawable
E:\crifan\DevRoot\Osmand-master\OsmAnd\src\net\osmand\plus\activities\search\SearchPoiFilterFragment.java
Error:(251, 38) 错误: 找不到符号
符号:   变量 mx_name_finder
位置: 类 drawable
Error:(253, 38) 错误: 找不到符号
符号:   变量 mx_user_defined
位置: 类 drawable
注: 某些输入文件使用或覆盖了已过时的 API。
注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。
注: 某些输入文件使用了未经检查或不安全的操作。
注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。
7 个错误
Error:Execution failed for task ':OsmAnd:compileFreeLegacyArmv5DebugJava'.
> Compilation failed; see the compiler error output for details.
Information:BUILD FAILED
Information:Total time: 20.111 secs
Information:8 errors
Information:0 warnings
Information:See complete output in console

Message为:

can not found mx_highway_speed_camera

然后尝试去解决:

4.google中搜:

mx_highway_speed_camera

找到:



https://github.com/osmandapp/OsmAnd-resources/tree/master/rendering_styles/style-icons/drawable-xxhdpi

->

https://github.com/osmandapp

->

osmandapp/OsmAnd-resources · GitHub

https://github.com/osmandapp/OsmAnd-resources

去下载,得到:

OsmAnd-resources-master.zip

然后对于这个项目,代码看起来也不是project:

find OsmAnd-resources but how import

感觉没法导入为项目。

现在去搞清楚如何加入到原先的osmAnd的项目中去。

5.先去试试import module:

try use import module for osmand resources

select resource location for osmand resources

specify location of the gradle or android eclipse project

结果不是module,无法导入。

6.后来参考:

https://github.com/osmandapp/OsmAnd-resources/tree/master/rendering_styles/style-icons/drawable-xxhdpi

找到上述缺少的文件是在:

rendering_styles/style-icons/drawable-xxhdpi

所以去找找,果然在其中发现了:mx_highway_speed_camera

found mx_highway_speed_camera inside rendering_styles

那算了,干脆就只是把上述的

rendering_styles/style-icons/

中所有的资源文件:

all image inside rendering_styles

都导入到对应的项目中,不过却发现项目中却没有这几个dpi的分级的文件夹:

android studio drawable no xxx hdpi

7.在将某个分辨率的,比如xxhdpi中的对应缺少的这7个png图片:

lack total 7 resource image file

加入到项目中之前,

还是先去研究研究,到底这里的:

OsmAnd和OsmAnd-resources

两个项目到底啥关系,以及后来发现的osmandapp,三者之间的关系:

【整理】OsmAnd+OsmAnd-resources+osmandapp的关系

 

8.算了,还是自己手动先把:

\OsmAnd-resources-master\rendering_styles\style-icons\drawable-xxhdpi

中的对应缺少的7个图片:

mx_highway_speed_camera

mx_barrier_border_control

mx_barrier_toll_booth

mx_user_defined

h_arrow

mx_name_finder

mx_user_defined

都拷贝到项目中的对应位置drawable目录下吧。

本来打算拷贝路径的,结果拷贝出来是4个路径:

E:\crifan\DevRoot\Osmand-master\OsmAnd\res\layout-large

E:\crifan\DevRoot\Osmand-master\OsmAnd\res\layout-v14

E:\crifan\DevRoot\Osmand-master\OsmAnd\res\layout-land

E:\crifan\DevRoot\Osmand-master\OsmAnd\res\layout

9.然后再去折腾后发现:

Android Studio中,也是有对应的xxhdip等不同的分辨率的图片的。

需要将视图换位Packages,即可看到:

android studio switch to package view show all folder

或者换成是:Project也可以看清楚:

change to project view also show folders

所以,这就很明确了:

直接去

OsmAnd-resources-master\rendering_styles\style-icons

把几种不同分辨率的图片:

drawable-hdpi

drawable-mdpi

drawable-xhdpi

drawable-xxhdpi

都导入到项目里面,应该就可以了:

【已解决】Android Studio中导入png图片资源文件

10.导入完毕资源文件后,然后再去编译一下:

after import res png files redo build project

结果就可以编译成功了:

android studio build successful for osmand

 

【总结】

此处下载OsmAnd并导入到Android Studio中后编译出错,缺少:

  • mx_highway_speed_camera
  • mx_barrier_border_control
  • mx_barrier_toll_booth
  • mx_user_defined
  • h_arrow
  • mx_name_finder
  • mx_user_defined

这7张图片,即resource。

解决办法是:

找到OsmAnd对应的另外一个子项目:

https://github.com/osmandapp/OsmAnd-resources

其中包含此处所需要的图片资源文件。

下载后解压,将其中的:

OsmAnd-resources-master\rendering_styles\style-icons

中的:

  • drawable-hdpi
  • drawable-mdpi
  • drawable-xhdpi
  • drawable-xxhdpi

其下包含对应的这些缺少的图片资源,都导入到Android Studio中的项目即可。

 

注:

关于Android Studio中如何导入资源图片文件,可参考:

【已解决】Android Studio中导入png图片资源文件



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量