在Android工作室项目中,我正在编写2个共享我自己编码的库的Android应用程序。
Project /
- app1 /
- app2 /
- mylibrary /
因此,在app1和app2的build.gradle中,我需要包含一个用于编译mylibrary的依赖项。
dependencies {
// Compile shared library
compile project(':mylibrary')
// Local binary dependency
compile fileTree(dir: 'libs', include: ['*.jar'])
}
到目前为止,一切正常。
然后,我正在使用2个不同的脚本构建app1和app2,并且我在每个建筑物中包含一些自定义参数。例如,app1的构建脚本将是:
cd app1
../gradlew assembleRelease -PversionCode=$VERSION_CODE -PversionName=$VERSION_NAME -PWS_URL=$WS_URL
我可以从" app1"的build.gradle中的propject.property访问versionName,versionCode和WS_URL参数,但问题在于我无法从" mylibrary&的build.gradle中访问#34;我需要分享这些信息
有没有办法在" app1"中分享这些信息?和" mylibrary"?
提前致谢!
答案 0 :(得分:0)
访问另一个项目属性的一种方法是使用project(:name)
方法,其中:name
是您要访问的项目的标识符。您可以在Chapter 57. Multi-project Builds - 57.1.2中找到有关它的更多信息。
在您的特定情况下,您可以通过执行project(:mylibrary).hasProperty('something')
和project(:mylibrary).property('something')
'之类的操作,让'app1'使用'mylibrary'中定义的属性,或者从'app1'中访问属性mylibrary'通过做project(:app1)
代替。
您还可以将-PversionCode
存储在ext
封闭内,以使代码更清晰,更易于使用(例如project(:app1).ext.versionCode
。