欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

相对路径上一级及上上级目录的表示方法

程序员文章站 2022-05-09 23:47:46
...

问题引入,绝对路径的缺点

在Android开发中我会把keystore签名文件放在项目根目录下,然后在build.gradle中配置release包的签名配置,这样每次可以一键打包,不要要再选择签名输入密码等,配置如下所示

signingConfigs {
    release {
        keyAlias 'keyAlias'
        keyPassword 'keyPassword'
        storeFile file('D:/workspace/MyProject/mykeystore.jks')
        storePassword 'storePassword'
    }
}

但是签名文件位置D:/workspace/MyProject/mykeystore.jks之前是用绝对路径写死的,因为签名文件是放在项目根路径的,如果项目移动到其他路径,相应的也要修改签名文件的路径配置。或者与团队协同开发,同个项目不同的人从SVN或者Git上check out出来项目存放在本地的路径可能不一样,那么也要修改这个绝对路径的值。

相对路径出场

以上问题用相对路径就可以解决,因为该签名文件始终是存放在项目根目录下的,相对于module的builde.grale文件而言,是在builde.grale文件的上一级目录下,而上一级目录可以用../表示,所以可以用如下相对路径表示签名文件的位置,而且不管你把项目放在哪个路径下都不需要再修改该值。

../mykeystore.jks'

所以修改后的配置如下

signingConfigs {
    release {
        keyAlias 'xindeco'
        keyPassword 'xindeco'
        storeFile file('../mykeystore.jks')
        storePassword 'xindeco'
    }
}

上上级路径的表示方法

当然相对路径还可以表示上上级、上上上级、上上上上级目录等

上上级:../../

上上上级:../../../

上上上上级:../../../../

相对路径也可以表示上级目录下的不同子目录和文件,例如:

../../subdir/subsubdir/test.txt:表示当前文件的上上级目录下的subdir目录下的subsubdir目录里面的test.txt文件

是不是绕晕了,其实认真理解下还是很清晰的