Получение сообщения об ошибке «Ресурс не является общедоступным» - PullRequest
20 голосов
/ 05 ноября 2011

Поэтому я пытаюсь использовать встроенный drawp timepicker_up_btn для API уровня 7. Он находится в самой папке res в sdk, и я могу использовать другие ресурсы из этой папки. Но я получаю сообщение об ошибке «Ресурс не является общедоступным».

Похоже, что Google пытается ограничить использование этого ресурса. Я думаю, что им все равно, если я использую его в приложении для Android, и это делает общий вид моего приложения похожим на стандартный Android.

В любом случае, это поправимо? Могу ли я каким-то образом использовать непубличный ресурс, не копируя его в свой проект? А как обстоят дела с копированием фондовых ресурсов в собственные проекты? Нелегальная? Нахмурился? Или нам все равно?

Ответы [ 3 ]

35 голосов
/ 05 ноября 2011

Лучше всего скопировать файлы в наше приложение. Некоторые сотрудники Google сказали мне, что вы не должны ссылаться на ресурсы, а скопируйте их в свое приложение.

Одна из причин этого заключается в том, что если вы ссылаетесь на целый набор значков для своего приложения, вам не гарантируется, что каждый из них будет обновляться одновременно с выпуском новых версий SDK. У вас могут появиться современные модные иконки и старые:)

5 голосов
/ 18 февраля 2017

Есть ли способ использовать непубличные ресурсы Android в моем приложении?

Вы можете ссылаться на них следующим образом

android: drawable = "@* android: drawable /ressed_application_background_static "

, но это не рекомендуется, поскольку в будущем частные ресурсы могут быть переименованы или удалены.

2 голосов
/ 05 ноября 2011

Технически вы можете скопировать ресурс из папки SDK в свою собственную папку ресурса и затем использовать его как свой собственный.Хотя я не уверен, является ли это нарушением авторских прав.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...