Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用android模块创建sbt项目并使用Intellij ultimate运行?_Android_Scala_Intellij Idea_Sbt - Fatal编程技术网

如何使用android模块创建sbt项目并使用Intellij ultimate运行?

如何使用android模块创建sbt项目并使用Intellij ultimate运行?,android,scala,intellij-idea,sbt,Android,Scala,Intellij Idea,Sbt,我已经尝试在sbt中创建一个android项目两天了,我得到了很多的支持。从一开始,我就一直遵循本教程,只是为了创建。然后,它把我引向了另一个方向。我必须下载SDK并设置路径,然后才能执行sbt gen android命令,在命令行中创建一个android项目。但是,当创建android sbt项目时,以下cmd行命令android update project-p.不会执行,因为清单不在根文件夹中 我通过查看类型安全的scaloid模板示例来解决问题。因此,我的解决方案是将manifest和r

我已经尝试在sbt中创建一个android项目两天了,我得到了很多的支持。从一开始,我就一直遵循本教程,只是为了创建。然后,它把我引向了另一个方向。我必须下载SDK并设置路径,然后才能执行
sbt gen android
命令,在命令行中创建一个android项目。但是,当创建android sbt项目时,以下cmd行命令
android update project-p.
不会执行,因为清单不在根文件夹中

我通过查看类型安全的scaloid模板示例来解决问题。因此,我的解决方案是将manifest和res文件传输到sbt项目的根目录,并将android包移动到src文件夹的根目录,以使
android更新工作。我的sbt项目在导入同一个项目后将在terminal中编译,但不会在intellij中编译

在开始这个过程之前,我试图用IDE创建一个sbt android项目,但在编译过程中我没有设置错误。现在,在设置了所有路径和SDK之后,当sbt编译时,我得到了以下错误

[info]处理资源
[trace]堆栈跟踪被抑制:对完整输出运行“上次编译:编译”。
[错误](编译:编译)java.lang.IllegalArgumentException:必须使用指向android_SDK工具目录的系统属性com.android.tools.Lint.bindir调用Lint

在终端中,从我在
sbt compile
之后得到的完全相同的文件夹中

[info]从/Users/StramzCB/.sbt/0.13/plugins加载全局插件
[信息]从/Users/StramzCB/Desktop/sbt+intJ/hello scaloid sbt master/project加载项目定义
[信息]将当前项目设置为hello scaloid sbt(内置文件:/Users/StramzCB/Desktop/sbt+intJ/hello scaloid sbt master/)
[信息]处理资源
[成功]总时间:1秒,完成时间:2015年7月22日下午2:36:10

请帮助我正确的当前创建android+sbt+intellij项目的方法。否则,由于65k方法的限制,我可能不得不将源文件复制到sbt项目中,只是为了编译apk

sbt gen-android
导入intellij。
完成

先决条件:设置所有主要sdk的路径,即android、java、scala、sbt、maven、gradle。无论你用什么

最终对我有效的不是将gen ndroid作为sbt项目导入intellij,而是我在以下方面取得了成功

1.使用intellij Ultimate创建新的sbt项目

2.在sbt项目中创建子模块android项目

3.使用更新android项目

:android更新项目-p

:sbt gen android sbt//来自用于sbt的android sdk插件

5.在终端中运行一些clean和compile命令以验证功能

6.使用intellij打开Sbt项目,并更改运行配置以运行Sbt命令,如

android:run

  • 它起作用了,但我的主要问题是我的intellij sbt如何与终端sbt不同步
  • 就插件和注册资源而言,与终端环境相比,它是落后的。由于这个问题,我删除了一些用于sbt的非托管库,出于明显的原因在ide中写入,并从终端运行sbt命令。有些库导入,但不进入子项目,因此我使用非托管libs,即android.support.v4

    到目前为止,我没有抱怨,只要它编译并给我APK

    以下是我两天的愤怒资源,以最终获得beast代码环境。我需要Sbt的全部原因是为了减小包装尺寸


    我有一个解决方案,它最近才对我起作用,是在Intellij IDEA中创建android sbt项目的最佳方式

    使用intellij中的+SBT和Scala插件,我做了以下工作

  • 创建SBT项目
  • 在项目根目录下打开终端并运行sbt“gen-android-21 com.some.your-pack testName”
  • 现在在Intellij中,通知将注意到android模板,然后将android模板导入到您的项目中
  • 这修复了我在项目名创建两个重叠模块时遇到的问题,一个以包命名,另一个以名称命名

  • 此外,您不使用intellij构建。添加执行android的运行配置:package firstandroid update项目仅适用于基于ant的旧版本
    sbt“gen android android-22 com.example.app Hello”
    ,进入IntelliJ,导入->将平台sdk设置为android 22,启用自动导入。在这一点上,一切都应该起作用。从那时起,只需使用sbt进行构建,否则,所有突出显示和IDE功能都应该在IntelliJ中正常工作。这对我来说同样不适用。我在导入后收到此消息<代码>错误:无法确定所选JDK中的Java VM可执行文件