Android 安卓工作室可以';找不到文件
我已将签名密钥添加到项目根目录中的Android 安卓工作室可以';找不到文件,android,gradle,android-studio,Android,Gradle,Android Studio,我已将签名密钥添加到项目根目录中的keys文件夹中: .\ keys\ sign.properties src\ main\ build.gradle 我在构建脚本中添加了以下几行: signingConfigs { release { Properties p = new Properties() p.load(new FileInputStream('keys/sign.properties'))
keys
文件夹中:
.\
keys\
sign.properties
src\
main\
build.gradle
我在构建脚本中添加了以下几行:
signingConfigs {
release {
Properties p = new Properties()
p.load(new FileInputStream('keys/sign.properties'))
storeFile file(p.file)
storePassword p.password
keyAlias p.alias
keyPassword p.keyPassword
}
}
命令行gradle build能够组装build。但是Android Studio给我的错误是找不到文件sign.properties
如何指出这一点?在命令行上编译与从Android Studio编译时,工作目录似乎有问题。我发现有一个不一致的地方,我需要进一步调查,并可能提出一个错误。在任何情况下,最好明确地确定路径以防止混淆 试试这个:
p.load(new FileInputStream(rootProject.file('keys/sign.properties')))
这将确定文件相对于项目(而不是模块)根的位置,这也是settings.gradle
文件所在的位置
编辑
我申请了这个。我在上面向您展示的解决方法应该做得很好,而且在任何情况下都可能是最佳实践。在命令行上编译与从Android Studio编译时,工作目录的内容似乎有问题。我发现有一个不一致的地方,我需要进一步调查,并可能提出一个错误。在任何情况下,最好明确地确定路径以防止混淆 试试这个:
p.load(new FileInputStream(rootProject.file('keys/sign.properties')))
这将确定文件相对于项目(而不是模块)根的位置,这也是settings.gradle
文件所在的位置
编辑
我申请了这个。我在上面向您展示的解决方法应该做得很好,在任何情况下都可能是最佳实践。感谢您的帮助并启动了该问题我在问题中添加了评论“我不介意使用
rootProject
但是为什么从文件编译依赖项可以完美地工作编译文件('libs/MixpanelAPI.jar'))
?我更喜欢一致的行为“我怀疑插件中的实现不一致。files
函数不能像任意Groovy脚本那样依赖于工作目录。在compilefiles('libs/MixpanelAPI.jar')
中,方法files()
与file()
相同。它们都是基于项目对象的方法和基于项目相对路径的工作。一个返回一个文件,另一个返回一个文件集合。感谢您的帮助并启动该问题。我对该问题添加了评论“我不介意使用rootProject
,但为什么从文件编译依赖项可以完美地工作编译文件('libs/MixpanelAPI.jar')
?我更喜欢一致的行为”我怀疑插件中的实现不一致。files
函数不能像任意Groovy脚本那样依赖于工作目录。在compilefiles('libs/MixpanelAPI.jar')
中,方法files()
与file()
相同。它们都是基于项目对象的方法和基于项目相对路径的工作。一个返回文件,另一个返回文件集合。