我在运行rake run时遇到错误:android(Rhomobile)声明rm_f未定义为AndroidTools :: Module

时间:2012-12-09 20:39:16

标签: ubuntu android-emulator rhomobile linuxmint

我重新安装了我的操作系统两次,并完成了大约10个小时的调试。我很茫然。

我正在运行Linux Mint 14(基本上是Ubuntu)并且遇到了运行32位和64位的相同问题。

我从64位开始,在安装32位库之后,得到了与我现在使用的32位完全相同的错误。

我在以前编写的源代码上运行了脚本(几个月前就已经运行了),我也在虚拟源上运行它(只运行rhogen store然后将它提供给rake命令)

如果我搜索此错误,Google上只有一个结果是my post on the rhomobile Google group。由于这还没有产生任何结果,我想我会在这里重新考虑,看看是否有人有任何见解。

为了完整性,this是我用于正确安装Rhodes的指南。 (官方文档是可怕的!)

以下是失败的rake run:android

的堆栈跟踪
rm -rf /media/radnadz/Methuselah/Programming/Rhodes/store/bin/target/android/store-tmp.apk
** Execute run:android:emulator
rake aborted!
undefined method `rm_f' for AndroidTools:Module
/var/lib/gems/1.9.1/gems/rhodes-3.5.1.12/platform/android/build/android_tools.rb:211:in `run_emulator'
/var/lib/gems/1.9.1/gems/rhodes-3.5.1.12/platform/android/build/android.rake:1971:in `block (3 levels) in <top (required)>'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/task.rb:227:in `call'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/task.rb:227:in `block in execute'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/task.rb:222:in `each'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/task.rb:222:in `execute'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/task.rb:166:in `block in invoke_with_call_chain'
/usr/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/task.rb:159:in `invoke_with_call_chain'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/task.rb:152:in `invoke'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:141:in `invoke_task'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:99:in `block (2 levels) in top_level'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:99:in `each'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:99:in `block in top_level'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:108:in `run_with_threads'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:93:in `top_level'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:71:in `block in run'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:158:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/rake-10.0.2/lib/rake/application.rb:68:in `run'
/var/lib/gems/1.9.1/gems/rake-10.0.2/bin/rake:37:in `<top (required)>'
/usr/local/bin/rake:23:in `load'
/usr/local/bin/rake:23:in `<main>'
Tasks: TOP => run:android:emulator

1 个答案:

答案 0 :(得分:3)

答案非常简单(如果你知道在哪里看)。

如堆栈跟踪所示,问题源自/var/lib/gems/1.9.1/gems/rhodes-3.5.1.12/platform/android/build/android_tools.rb的第211行。

如果您将该行从rm_f $applog_path if !$applog_path.nil?更改为FileUtils.rm_f $applog_path if !$applog_path.nil?,则问题就会得到解决。

感谢Alexey在rhomobile Google Group上寻求解决方案!