2013-01-22 1 views
0

мой Android проекта зависит от 3-х библиотек, один из них () не имеет каких-либо требований, два из них (B, C) требуется библиотека поддержки-v4 из-за фрагментов. Сам проект требует наличия библиотеки поддержки-v4. Проект и библиотеки имеют целевой Android 2.2 (API 8). Все файлы android-support-v4.jar - это одна и та же сборка и версия.Android - библиотеки R файлы не создаются, когда больше библиотек зависит от поддержки-v4

При добавлении библиотеки , его R.java генерируется в поколения папке проекта. Но когда я добавить библиотеку B или C, ихняя R.java не генерируются и даже «s R.java удаляется из поколения папку проекта.

Есть ли способ включить библиотеки, которые сами требуют библиотеки поддержки-v4? Помимо копирования своего кода в проект и не включают их в качестве lib.

Update:

Я нашел проблему. Проблема заключалась в том, что оба мои библиотеки B и C использовали одно и то же имя пакета в манифесте. Когда я изменил имя пакета в одной библиотеке, появился все R.java.

Мои пакеты libs были eu.anycode.android.app как расширяющие классы com.android.app. Но я не хочу, чтобы они были в одной библиотеке, так как мне не нужно держать их вместе, поскольку есть проекты, в которых мне нужен только один из них, и я не хочу включать неиспользованный код в окончательный APK.

Так что еще мой вопрос: можно ли настроить его, чтобы я мог использовать одно и то же имя пакета для разных библиотек?

- Мартин

+0

Вы используете Eclipse, не так ли? После того, как вы добавили библиотеку и поддержку-v4 в библиотеки, перейдите к сборке и восстановлению всего. Должно нормально исправить это. – Leandros

+0

Спасибо за ваш ответ, я попытался перестроить несколько раз. Наконец, я нашел проблему, см. Мой отредактированный вопрос. - Martin –

+0

@MartinEdlman - Отправьте свое решение на исходный вопрос в качестве ответа и отметьте его как таковой. Для вашего другого вопроса вы должны задать новый вопрос на сайте. Помните, что это служит и для будущих посетителей, поэтому вы не можете перегружать несколько вопросов в одном месте. – Shaihi

ответ

0

Так мой другой вопрос, если это возможно, чтобы настроить его так, я могу использовать то же имя пакета для различных библиотек?

Нет, это невозможно. Имена пакетов уникальны.

+1

Спасибо, я решил проблему, установив другое имя пакета в манифесте, но сохранял такие же имена пакетов в источниках. Это работает именно так. –