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

【问题】

折腾:

期间,编译出现错误: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为:

d74e4015e27810dedb8b45c35f64e590.png

然后尝试去解决:

4.google中搜:

mx_highway_speed_camera

找到:

->

->

osmandapp/OsmAnd-resources · GitHub

去下载,得到:

OsmAnd-resources-master.zip

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

5bfcfc5b0c00677470fa87e3ed53c326.png

感觉没法导入为项目。

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

5.先去试试import module:

9640a85df32dd266186075ddfeb7947c.png

0dca6399978a7b806634d4d5006b557e.png

782c2b5ba3b6f7bccb70590c33f912cb.png

结果不是module,无法导入。

6.后来参考:

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

rendering_styles/style-icons/drawable-xxhdpi

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

ed8e2dfcc4ac88df79cb873c472e9a56.png

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

rendering_styles/style-icons/

中所有的资源文件:

c711a4ea66c3982a376b4965a64d40dc.png

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

40bdfed930f84560e42e465a2370d7d7.png

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

b2ccf0f207bbf6d7b3970a655655b11e.png

加入到项目中之前,

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

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,即可看到:

1d2c1465c9b6e1e934c0ecee3871233a.png

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

25d6ff74848b8146f4a31b700c75a7d6.png

所以,这就很明确了:

直接去

OsmAnd-resources-master\rendering_styles\style-icons

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

drawable-hdpi

drawable-mdpi

drawable-xhdpi

drawable-xxhdpi

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

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

0aad475d6b195e24a2e5d97f23d7edce.png

结果就可以编译成功了:

97db27d8867d7498aef6cf6dcd4c0490.png

【总结】

此处下载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对应的另外一个子项目:

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

下载后解压,将其中的:

OsmAnd-resources-master\rendering_styles\style-icons

中的:drawable-hdpi

drawable-mdpi

drawable-xhdpi

drawable-xxhdpi

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

注:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值