从android库继承资源
我有一个关于从android库继承资源的问题 假设您有一个android库项目,并且在该库中的包名com.libexample下放置了一些资源(比如字符串) 现在在一个名为com.example的android项目中,我引用了我先前创建的库 如果我想使用库中的一个字符串,我可以使用从android库继承资源,android,resources,Android,Resources,我有一个关于从android库继承资源的问题 假设您有一个android库项目,并且在该库中的包名com.libexample下放置了一些资源(比如字符串) 现在在一个名为com.example的android项目中,我引用了我先前创建的库 如果我想使用库中的一个字符串,我可以使用 getString(com.libexample.R.string.test_string); 我的问题是,我的主项目中的字符串资源是否可以被分配与我的库中的字符串相同的整数ID?原因如果是,则上述代码语句实际上等
getString(com.libexample.R.string.test_string);
我的问题是,我的主项目中的字符串资源是否可以被分配与我的库中的字符串相同的整数ID?原因如果是,则上述代码语句实际上等于:
getString(R.string.new_string);
假设为新的字符串资源分配了与测试字符串资源相同的ID。显然,编译器会自动将资源添加到同一生成的R.java文件下,以防止任何冲突。我假设ID可能匹配,除非有两种可能性之一为真:1。Android编译器足够聪明,可以在每个库中搜索每个名为
R
的类,并检查每个库中是否有已使用的ID(我认为这不太可能)。2.R
中的ID不是完全随机的,并且包含了来自编译单元的足够信息,从而有效地保证com.libexample.R
中的ID不会与com.someotherthing.R
中的ID一致(更可能)。