В моем приложении AndroidManifest.xml
я пытаюсь сказать ему использовать строку из /res/values
в определенном пакете вместо первой, найденной в одной из библиотек (строка my_label
может быть определена в более одной библиотеки):
<application android:icon="@drawable/icon"
android:label="com.example.projname.appmodule:@string/my_label">
Однако приведенная выше запись / синтаксис не работает. Он принимает только следующую форму, которая не позволяет указывать конкретный файл ресурса:
<application android:icon="@drawable/icon"
android:label="@string/my_label">
Можно ли вообще сказать, что AndroidManifest.xml приложения принимает значение @string из определенного /res/values
?
РЕДАКТИРОВАТЬ: Интересно то, что среда сборки не жалуется на синтаксис "com.example.projname.appmodule:@string/my_label"
. Но при запуске приложения вместо строкового значения отображается com.example.projname.appmodule:@string/my_label
.
Как @Nikola Despotoski предложил ниже, обходной путь мог бы установить это программно в приложении, но так как среда сборки не жалуется на этот синтаксис, я все еще задаюсь вопросом, является ли это ошибкой в env сборки или чем-то, что я пропали без вести.
Мой обходной путь, на данный момент, заключается в том, чтобы убедиться, что my_label
уникален, например, my_3F2504E0-4F89-11D3-9A0C-0305E82C3301_label, поэтому он не может появиться ни в одном другом пакете.