Android库资源默认是公开的,无法直接设为私有。但是可以通过一些方法来间接实现资源的私有性。以下是一种解决方法:
private_resources
。build.gradle
文件中,将private_resources
模块设置为私有资源库。可以使用以下代码示例:android {
// ...
sourceSets {
main {
res.srcDirs = ['src/main/res']
}
private_res {
res.srcDirs = ['src/private_resources/res']
}
}
// ...
}
dependencies {
// ...
implementation project(':private_resources')
// ...
}
private_resources
模块中,创建与主模块(例如app
)中的资源文件相同的目录结构和文件名,以保持资源的一致性。例如,如果在app
模块中有一个drawable
文件夹,那么在private_resources
模块中也创建一个drawable
文件夹,并将相应的资源文件放置其中。private_resources
模块中的相应目录中。通过这种方法,private_resources
模块中的资源文件将不会被其他模块直接访问到,实现了资源的私有性。但请注意,这种方法并不是真正的私有,只是通过模块的设置来间接实现私有性。如果确保资源的绝对私有性,可以考虑使用其他方式,如加密资源文件等。