I have set sdk.dir
and ndk.dir
in local.properties.
How do I read the values of sdk.dir
and ndk.dir
in the build.gradle file?
The local. properties file goes in the project's root level, in the same folder as the gradlew , gradlew. bat , settings. gradle and other files.
You can do that in this way:
Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream()) def sdkDir = properties.getProperty('sdk.dir') def ndkDir = properties.getProperty('ndk.dir')
Use project.rootProject
if you are reading the properties file in a sub-project build.gradle
:
. ├── app │ ├── build.gradle <-- You are reading the local.properties in this gradle build file │ └── src ├── build.gradle ├── gradle ├── gradlew ├── gradlew.bat ├── settings.gradle └── local.properties
In case the properties file is in the same sub-project directory you can use just project
.
local.properties
default.account.iccid=123
build.gradle -
def Properties properties = new Properties() properties.load(project.rootProject.file("local.properties").newDataInputStream()) defaultConfig { resValue "string", "default_account_iccid", properties.getProperty("default.account.iccid", "") }
and in code you get it as other string from Resources -
resources.getString(R.string.default_account_iccid);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With