【问题标题】:Unable to build Android+Scala project using sbt+sbt-android plugin无法使用 sbt+sbt-android 插件构建 Android+Scala 项目
【发布时间】:2013-05-24 17:58:17
【问题描述】:

我无法使用 sbt 和 sbt-android plugin 构建 Android + Scala(和 IntelliJ Idea 12)项目。我安装了所有需要的东西并将 ANDROID_SDK_HOME 添加到 .bashrc 和 /etc/profile 但是:

me123@ubuntu:~/Documents/android_projects/my-android-project$ echo $ANDROID_SDK_HOME
/home/me123/android-sdk-linux/sdk

me123@ubuntu:~/Documents/android_projects/my-android-project$ sudo echo $ANDROID_SDK_HOME
/home/me123/android-sdk-linux/sdk

me123@ubuntu:~/Documents/android_projects/my-android-project$ sbt
[info] Loading global plugins from /home/me123/.sbt/plugins
[info] Loading project definition from /home/me123/Documents/android_projects/my-android-project/project
[info] Compiling 3 Scala sources to /home/me123/Documents/android_projects/my-android-project/project/target/scala-2.9.2/sbt-0.12/classes...
[error] /home/me123/Documents/android_projects/my-android-project/project/target/scala-2.9.2/sbt-0.12/classes/AndroidEclipse$Transformer.class (Permission denied)
[error] one error found
[error] (compile:compile) Compilation failed
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q


me123@ubuntu:~/Documents/android_projects/my-android-project$ sudo sbt
[info] Loading project definition from /home/me123/Documents/android_projects/my-android-project/project
[info] Updating {file:/home/me123/Documents/android_projects/my-android-project/project/}default-6ff5da...
[info] Resolving org.scala-sbt#precompiled-2_10_0;0.12.2 ...
[info] Done updating.
[error] Android SDK not found. You might need to set ANDROID_SDK_HOME or ANDROID_SDK_ROOT or ANDROID_HOME
[error] Use 'last' for the full log.
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q

更新:

    > android:start-device
[info] Wrote /home/alex/Documents/android_projects/my-android-project/target/scala-2.10/src_managed/main/scala/my/android/project/TR.scala
[info] Compiling 2 Scala sources and 1 Java source to /home/alex/Documents/android_projects/my-android-project/target/scala-2.10/classes...
[warn] there were 4 feature warnings; re-run with -feature for details
[warn] one warning found
ProGuard, version 4.6
ProGuard is released under the GNU General Public License. You therefore
must ensure that programs that link to it (scala, ...)
carry the GNU General Public License as well. Alternatively, you can
apply for an exception with the author of ProGuard.
Reading program directory [/home/alex/Documents/android_projects/my-android-project/target/scala-2.10/classes]
[trace] Stack trace suppressed: run last main/android:proguard for the full output.
[error] (main/android:proguard) java.io.IOException: Can't read [/home/alex/Documents/android_projects/my-android-project/target/scala-2.10/classes] (Can't process class [my/android/project/R$id.class] (Unsupported version number [51.0] for class format))
[error] Total time: 14 s, completed May 30, 2013 3:49:46 PM

【问题讨论】:

  • @om-nom-nom 你没看到它显示的内容吗?
  • 抱歉,不知怎的,我错过了输出 :-(

标签: android scala sbt


【解决方案1】:

首先,执行sudo echo $ANDROID_HOME 将与echo $ANDROID_HOME 完全相同,因为该变量将被您的shell在执行命令之前替换。

那么,您很可能遇到了权限问题。尝试运行它以确保您拥有正确的:

$ chmod -Rv 700 /home/me123/Documents/android_projects/my-android-project/

【讨论】:

  • 它说mode of /home/me123/Documents/android_projects/my-android-project/...........' changed from 0775 (rwxrwxr-x) to 0700 (rwx------),但 sudo sbt 和 sbt 的错误仍然存​​在。
  • 请注意,android sdk 主目录实际上位于另一个逻辑驱动器,但在 /home/me123/android-linux-sdk (/home/me123/android-linux-sdk -> 另一个逻辑驱动器)。
  • 你可以尝试直接读取(使用 Vim 或 Gedit 或其他)类文件吗?
  • 是的,我可以gedit /home/me123/Documents/android_projects/my-android-project/project/target/scala-2.9.2/sbt-0.12/classes/AndroidEclipseDefaults$$anonfun$settings$1.class,不过它恰好是空的。
  • 您有没有以其他用户身份运行过任何东西?因为Permission denied不会发生还有很多其他原因.../home/me123/Documents/android_projects/my-android-project/project/target/scala-2.9.2/sbt-0.12/classes/AndroidEclipse$Transformer.class的权限是什么?
猜你喜欢
  • 1970-01-01
  • 2012-06-26
  • 2023-04-10
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
  • 2013-04-20
  • 2018-01-13
相关资源
最近更新 更多