Как указать AndroidManifest.xml приложения взять @string из определенного пакета - PullRequest
4 голосов
/ 24 августа 2011

В моем приложении 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, поэтому он не может появиться ни в одном другом пакете.

...