在使用sbt android插件编译的Java项目中指定AndroidManifest.xml的位置
我正在尝试使用sbt编译一个用Java制作的Android项目,我刚刚继承了这个项目,并希望用Scala进行改进 该项目分为几个模块。我用“在使用sbt android插件编译的Java项目中指定AndroidManifest.xml的位置,android,scala,build,android-manifest,sbt,Android,Scala,Build,Android Manifest,Sbt,我正在尝试使用sbt编译一个用Java制作的Android项目,我刚刚继承了这个项目,并希望用Scala进行改进 该项目分为几个模块。我用“g8 jberkel/android app-b sbt-0_11”创建了一个sbt项目,将所有模块复制到src/留给我: my-android-project ls -l src total 96 drwxr-xr-x 14 tiagoboldt staff 476 Oct 18 16:09 AndroidApplication drwxr-
g8 jberkel/android app-b sbt-0_11
”创建了一个sbt项目,将所有模块复制到src/留给我:
my-android-project ls -l src
total 96
drwxr-xr-x 14 tiagoboldt staff 476 Oct 18 16:09 AndroidApplication
drwxr-xr-x 8 tiagoboldt staff 272 Oct 18 16:09 CRCCalculatioNTool
drwxr-xr-x 10 tiagoboldt staff 340 Oct 18 16:09 CaretakerIntegration
drwxr-xr-x 13 tiagoboldt staff 442 Oct 18 16:09 ConsoleSensorNetwork
... and so on
这些模块之间有依赖关系,AndroidApplication是我要构建的主要应用程序。我一直在尝试编辑我的project/build.scala,我已将其从原始版本更改为包含以下内容:
object AndroidBuild extends Build {
lazy val AndroidApplication = Project (
"AndroidApplication",
file("."),
settings = General.fullAndroidSettings ++ PlainJavaProject.settings
)
}
在尝试构建时,我总是以以下方式结束:
java.io.FileNotFoundException: (rest_of_dir)/my-android-project/src/main/AndroidManifest.xml (No such file or directory)
我不明白如何配置它,让它在src/AndroidApplication/src/AndroidManifest.xml中查找该文件,而不是默认文件。已尝试使用文件值进行播放,但无法执行:\
sbt及其android插件的文档都没有帮助。任何帮助都将不胜感激 希望这有助于:
object AndroidBuild extends Build {
val AndroidApplication = Project (
"AndroidApplication",
file("AndroidApplication"),
settings = General.fullAndroidSettings ++ PlainJavaProject.settings
) dependsOn xxxxx
lazy val CRCCalculatioNTool = Project (
"CRCCalculatioNTool",
file("CRCCalculatioNTool"),
settings = General.fullAndroidSettings ++ PlainJavaProject.settings
) dependsOn yyy
lazy val CaretakerIntegration = Project (
"CaretakerIntegration",
file("CaretakerIntegration"),
settings = General.fullAndroidSettings ++ PlainJavaProject.settings
) dependsOn zzz
}
希望这有助于:
object AndroidBuild extends Build {
val AndroidApplication = Project (
"AndroidApplication",
file("AndroidApplication"),
settings = General.fullAndroidSettings ++ PlainJavaProject.settings
) dependsOn xxxxx
lazy val CRCCalculatioNTool = Project (
"CRCCalculatioNTool",
file("CRCCalculatioNTool"),
settings = General.fullAndroidSettings ++ PlainJavaProject.settings
) dependsOn yyy
lazy val CaretakerIntegration = Project (
"CaretakerIntegration",
file("CaretakerIntegration"),
settings = General.fullAndroidSettings ++ PlainJavaProject.settings
) dependsOn zzz
}
如果您试图配置插件以更改默认路径,那么我认为您还需要配置设置
manifestTemplatePath
:
settings = General.fullAndroidSettings ++ inConfig(Android)(Seq(
manifestPath <<= (baseDirectory, manifestName in Android) (_ / _),
manifestTemplatePath <<= (manifestPath in Android) (mp => mp),
mainAssetsPath <<= baseDirectory (_ / "assets"),
mainResPath <<= baseDirectory (_ / "res")
))
settings=General.fullAndroidSettings++inConfig(Android)(序号(
manifestPath如果您试图配置插件以更改默认路径,那么我认为您还需要配置设置manifestTemplatePath
:
settings = General.fullAndroidSettings ++ inConfig(Android)(Seq(
manifestPath <<= (baseDirectory, manifestName in Android) (_ / _),
manifestTemplatePath <<= (manifestPath in Android) (mp => mp),
mainAssetsPath <<= baseDirectory (_ / "assets"),
mainResPath <<= baseDirectory (_ / "res")
))
settings=General.fullAndroidSettings++inConfig(Android)(序号(
manifestPath与libgdx一起,我刚刚使用了以下内容:
lazy val android =
Settings.common ++
AndroidProject.androidSettings ++
TypedResources.settings ++
proguardSettings ++
AndroidManifestGenerator.settings ++
AndroidMarketPublish.settings ++
Seq (
platformName in Android := "android-7",
keyalias in Android := "change-me",
mainAssetsPath in Android := file("common/src/main/resources"),
manifestPath in Android := Seq(file("android/src/main/AndroidManifest.xml"))
)
与libgdx一起使用的是:
lazy val android =
Settings.common ++
AndroidProject.androidSettings ++
TypedResources.settings ++
proguardSettings ++
AndroidManifestGenerator.settings ++
AndroidMarketPublish.settings ++
Seq (
platformName in Android := "android-7",
keyalias in Android := "change-me",
mainAssetsPath in Android := file("common/src/main/resources"),
manifestPath in Android := Seq(file("android/src/main/AndroidManifest.xml"))
)