Попытка создать проект с открытым исходным кодом Android на Ubuntu 10.04 (на VMware Player).
Я выполнил инструкции эту ссылку (и он сказал, что использует sun-java5 JDK 1.5, который требует некоторого поиска для Ubuntu) -
Получил 299 ошибок компиляции. Интересно, устарело ли использование JDK 1.5? Некоторые из ошибок следующие (и многие аналогичные) -
external/jsilver/src/com/google/clearsilver/jsilver/data/HDFDataFactory.java:77: method does not override a method from its superclass
@Override
external/jsilver/src/com/google/clearsilver/jsilver/data/UniqueStack.java:106: cannot find symbol
symbol : method offerLast(T)
location: class java.util.LinkedList<T>
objectStack.offerLast(object);
external/jsilver/src/com/google/streamhtmlparser/impl/HtmlParserImpl.java:507: cannot find symbol
symbol : method isEmpty()
location: class java.lang.String
if (!tagString.isEmpty() && tagString.charAt(0) == '/') {
external/jsilver/src/com/google/streamhtmlparser/util/JavascriptTokenBuffer.java:80: cannot find symbol
symbol : method copyOf(char[],int)
location: class java.util.Arrays
buffer = Arrays.copyOf(aJavascriptTokenBuffer.buffer,
Спасибо за комментарии и предложения.
Заключение. Я получил успешную сборку с помощью Sun JDK 1.6. Для этого потребовалось 7 или 8 попыток и "делать чист" каждый раз было важно.
Обратите внимание, что ошибки, указанные в вышеприведенном вопросе, предназначены для java-методов, которые были добавлены в Java 1.6, поэтому для источника Android требуется Java 1.6 сейчас в главной ветки источника (см. ссылку с немецкого языка в этом потоке), хотя в указаниях говорится используйте Java 1.5. Он не пытался выполнить 64-битную сборку из-за зависимостей библиотеки C. Я использовал предлагаемое решение в следующей ссылке, которая потребовала внесения небольшого изменения в 4 файла make, чтобы он мог выполнить 32-битную сборку (make файлы настроены для создания 64-битной сборки, если вы используете Java 1.6 по какой-то причине).
См. "sol 2" пользователем, находящимся в этой ссылке - вот что сработало для меня.
В ответ на приведенные выше комментарии вопросы - гм, я думаю, что у меня 32-битный Ubuntu (как мне сказать?). Система Ubuntu работает на VMware, работающем на 32-битной системе Vista. Что касается "необходимости компиляции на 64-битной основе с помощью java6", мои изменения в ссылочных файлах make файлов являются обходным решением для 32-битной сборки.
Я думаю, что uname сообщит что-то вроде i686_64, если Linux - это 64-разрядная ОС?
uname -a Linux jotobjects-ubuntu 2.6.32-21-generiС# 32-Ubuntu SMP Пт 16 апр 08:10:02 UTC 2010 i686 GNU/Linux
Я читал в другом блоге, что необходимо скомпилировать в 64-битной версии и с java6, но я еще уверен, я пытаюсь найти другое решение
Частичный ответ на мой собственный вопрос - переключился на java6 и получил дальнейшее развитие в процессе сборки. Инструкции на странице загрузки Android выглядят устаревшими.
Теперь возникают проблемы с отсутствием правильных библиотек С++, установленных на ubuntu... Так что сборка еще не успешна