поведение android R.java при добавлении библиотечного проекта - PullRequest
0 голосов
/ 29 марта 2012

Я использую библиотеку zxing для сканирования штрих-кода в моем приложении.Поэтому я установил проект zxing как библиотеку и добавил эту библиотеку в свой проект (свойства -> android -> add library)

После добавления проекта библиотеки при сборке кода я вижу, что есть два RФайлы .java, созданные в моем проекте.

Один находится по пути: gen \ com \ google \ zxing \ client \ android

, а другой: gen \ myproject

Первый имеет все переменные ресурса из библиотеки плюс переменные ресурса в моем проекте.Второй имеет переменные ресурса только из моего проекта.Когда добавляется новый макет или переменная ресурса, он обновляется в обоих файлах

Так что я сомневаюсь: 1. почему есть два файла R.java 2. Есть ли способ, которым я могу прекратить генерировать тот со всемипеременные проекта библиотеки

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

В моей библиотеке zxing есть "захват" макета, который будет установлен, когда мыпопробуйте отсканировать штрих-код.Всякий раз, когда я добавлял какой-либо макет или любую переменную ресурса с именем, начинающимся с буквы «a» / «b», мое приложение давало странные поведения.И все работало отлично, когда я просто переименовал макет. Позже я обнаружил, что он как-то связан с идентификатором «capture» в файле R.java.Когда я определяю макет с буквой, начинающейся с, он будет вставлен в список R.java перед «захватом», и, таким образом, идентификатор для захвата менялся.(В текущем проекте zxing есть еще один файл R.java, который я установил в качестве библиотеки. Похоже, что идентификатор для захвата в моем файле R.java и в библиотеке zxing R.java должен быть одинаковым)

Не могли бы вы объяснить, что на самом деле здесь происходит

1 Ответ

0 голосов
/ 29 марта 2012

Я думаю, что вы включаете полный проект ...

Если это так, удалите его и импортируйте только эти файлы в ваш проект:

http://code.google.com/p/zxing/source/browse/trunk#trunk%2Fandroid-integration%2Fsrc%2Fcom%2Fgoogle%2Fzxing%2Fintegration%2Fandroid%253Fstate%253Dclosed

Это всевам нужно:)

...