什么是local.properties文件

通过Android Studio创建一个Android工程后,在工程的根目录中都会生成一个名称为:local.properties文件,该文件一般用来存放该Android工程私有的属性配置,比如Android的sdk路径等等。local.properties文件一般都是存储到本地,禁止提交到服务器上。

读取local.properties文件内容

def readLocalProperties(){

File file = rootProject.file('local.properties')

if(file.exists()){

//加载资源

InputStream inputStream = rootProject.file('local.properties').newDataInputStream();

Properties properties = new Properties()

properties.load(inputStream)

if (properties.containsKey("sdk.dir")){

println properties.getProperty("sdk.dir")

}

}

}

local.properties的应用

利用local.properties文件存储到本地不提交的服务器的使用习惯,那么可以将一个项目的私有配置属性,存储到该文件中,比如:应用的包名、应用名称等

下面是一个在local.properties中配置项目的包名的demo

创建local.properties文件中添加包名属性

ndk.dir=/Users/trunx/android/android-sdk/ndk-bundle

sdk.dir=/Users/trunx/android/android-sdk

pakcagename=com.yumodev.angradle.test

在项目的build.gradle中解析local.properties

首先定义函数parseLocalProperties解析出来应用包名

def parseLocalProperties(){

File file = rootProject.file('local.properties')

if(file.exists()){

InputStream inputStream = rootProject.file('local.properties').newDataInputStream();

Properties properties = new Properties()

properties.load(inputStream)

if(properties.containsKey("packagename")){

println 'packageName:'+properties.getProperty("packagename")

ext.packagename = properties.getProperty("packagename")

println 'packageName:'+project["packagename"]

}

}

}

执行parseLocalProperties函数

allprojects {

repositories {

jcenter()

}

parseLocalProperties()

}

在Module的build.gradle中修改应用的包名

android {

compileSdkVersion 25

buildToolsVersion "25.0.2"

defaultConfig{

minSdkVersion 14

targetSdkVersion 25

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

if(project.hasProperty('packagename')){

println project['packagename']

applicationId project['packagename']

}else{

println "has not package_name"

applicationId "com.yumodev.angradle"

}

}

...

}

android 获取properties文件路径,读取local.properties文件相关推荐

  1. android获取存储设备根目录,浅谈android获取存储目录(路径)的几种方式和注意事项...

    通常, 我们创建文件/目录, 或者存储图片什么的, 我们都需要拿到手机的存储路径, 现在我们就来看一下获取手机存储路径的几种方式(作为工具类方法调用即可): 第一种: 获取 /storage/emul ...

  2. java 文件路径读取,java中依据路径读取文件

    java中根据路径读取文件 根据文件路径读取文件.具体代码如下: /** * 根据文件路径读取文件 * @param path * @return String * @throws IOExcepti ...

  3. Android 获取SD卡路径和判断SD卡是否存在.

    android获取sd卡路径方法: public String getSDPath(){ File sdDir = null; boolean sdCardExist =Environment.get ...

  4. fopen文件路径怎么写_PHP文件上传

    文件系统处理的作用: 1. 所有的项目离不开文件处理 2. 可以用文件长时间保存数据 3. 建立缓存, 服务器中文件操作 文件处理 1. 文件类型 以Linux为模型的, 在Windows只能获取fi ...

  5. python读取写入文件_Python读取和写入文件

    1 从文件中读取数据 1.1 读取整个文件 创建名为test的txt文本文件,添加内容如下所示: 1234567890 2345678901 3456789012 实现代码: with open('t ...

  6. python进阶14文件路径(找不到文件)

    原创链接:python进阶14文件路径(找不到文件) 开发时遇到问题,文件路径不正确,找不到文件等等,都是这一类问题. curdir,argv,file 举例: 文件1代码: 1 2 3 4 5 6 ...

  7. 读取云服务器文件列表,读取云服务器文件列表

    读取云服务器文件列表 内容精选 换一换 登录Windows操作系统的弹性云服务器时,需使用密码方式登录.因此,用户需先根据创建弹性云服务器时使用的密钥文件,获取该弹性云服务器初始安装时系统生成的管理员 ...

  8. java 通过文件路径获得MulipartFile类型文件 - File转MulipartFile

    java 通过文件路径获得MulipartFile类型文件 - File转MulipartFile 方式一:使用MockMultipartFile函数 方式二:数据流实现 思路:路径创建出File文件 ...

  9. android 获取默认存储路径,Android获取外置SD卡存储路径的方法

    在开发应用的过程中,经常会遇到需要获取设备存储路径的问题.而从网上看到的很多方法获取到的都是内置存储位置,并非外置SD卡路径,因此我推荐使用反射的机制来获取外置存储的路径. 通常,使用Environm ...

最新文章

  1. linux设置nexus开机自启动_CentOS7配置nexus开机自启动
  2. Windows IIS 日志分析研究(Log Parser Log Parser Lizard Log Parser Studio) update...
  3. 什么原因导致芯片短路_华为为什么突然大量用起了联发科芯片,或是这三个产品策略原因...
  4. 【神经网络】给初学者们讲解人工神经网络(ANN)
  5. 合并两个有序链表 java_合并两个有序链表
  6. SpringCloud学习笔记018---SpringBoot前后端分离_集成_SpringSecurity_简单实现
  7. 2017年(毕业生)暑期实习信息汇总
  8. 8086cpu学习笔记(3):寻址方式
  9. 鸟瞰 Java 并发框架
  10. 【报告分享】 百度2021国潮骄傲搜索大数据报告-百度x人民网(附下载)
  11. bat脚本积累(三)—— bat的注释
  12. 2021-11-11 VirtualBox 安装windows 不全屏显示的解决方法
  13. mybatis基础入门
  14. 电脑误格式化的数据怎么恢复,误格式化数据恢复教程
  15. 136A.Presents
  16. 日子大不了就是有粥喝粥,有菜吃菜
  17. Spring @Value读取配置文件
  18. python字典的遍历方式:向列表一样通过索引遍历字典的值
  19. 语音处理/语音识别基础(三)- 声音的特征和声音的能量
  20. 各种食用油的正确烹饪方法

热门文章

  1. 23种设计模式——访问者模式
  2. win10 更新后右下角 网络图标没有了,并且打开或关闭系统图标中的网络为灰色
  3. Java基础编程之输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数
  4. k910 Android 5,5英寸海思K910T 华为Ascend P7全新发布
  5. 如何使用SVN+Axure RP 8.0创建团队项目,实现团队协同
  6. 与Flash9的一次亲密接触!
  7. illegal cyclic inheritance involving trait Iterable val wordRDD: RDD[String] = fileRDD.flatMap(
  8. linux timeval,Linux上关于C语言的struct timeval{}的一道题
  9. 众昂矿业:选矿和浮选技术决定萤石品位高低
  10. python3.7安装wordcloud_python wordcloud安装