Привет Ранее у меня было Android SDK Build tools 18.1.1
и Windows XP
. тогда мое приложение работало правильно.
Но я обновил мою систему до Windows 7
, а также обновил Android SDK Build tools to 19
, чтобы иметь последние конфигурации.
Но у моего проекта есть файл xercesImpl-2.9.1.jar
, поэтому, когда я начал запускать свое приложение с новыми / обновленными конфигурациями, я получал
Conversion to Dalvik format failed with error 1 while parsing org/apache/xerces/impl/xpath/regex/ParserForXMLSchema.class
. Поэтому я прошел через все ответы, которые упомянуты на этот вопрос, но не смог решить. Я задавался вопросом в течение 4 дней, а затем нашел эту ссылку, которая спасла мне жизнь, после прочтения этого я узнал, что проблема связана с xercesImpl-2.9.1.jar
с инструментами Android SDK Build до 19.
Так что я понизил его до Android SDK Build tools до 18.1.1. И я избавился от этой проблемы.
Я публикую здесь свой ответ, чтобы, если кто-то столкнулся с этой проблемой, он мог ее решить.
1114 Это заставило меня расстроиться. Надежда поможет другим.
Не знаю, как это сделать в autoconf, но в последней команде может потребоваться -L ../ src, чтобы компоновщик мог сначала найти недавно созданную библиотеку.
Попробуйте вручную запустить последнюю команду с этим дополнением и посмотрите, поможет ли это.
РЕДАКТИРОВАТЬ: Хорошо, я полагаю, я неправильно его прочитал, подумал, что он не связывает, но вы говорите, что он связывает, но не запускается?
Если это так, запустите ldd в вашем двоичном файле и посмотрите, какой .so он подхватит - скорее всего, установленные (и устаревшие).
В этом случае либо установите обновленные библиотеки перед запуском, либо экспортируйте переменную env LD_LIBRARY_PATH перед запуском.
export LD_LIBRARY_PATH="/path to freshly built libs"
Я знаю, что для правильной работы зависимостей вам нужно обратиться к libgdata.la
с относительным путем в LDADD
; возможно, это также влияет на ситуацию, которую вы описываете.
Но я не знаю почему. Поведение, которое вы описываете, действительно кажется немного странным; и, возможно, стоит сообщить разработчикам libtool.
Думаю, я разобрался с этим.
Проблема должна заключаться в том, что libtool видит флаг "-L" в командной строке до того, как увидит часть "../src/libgdata.so". В этом случае он выполняет компоновщик с "-Wl, -rpath, ..." для этого пути "-L". Если этот путь содержит "libgdata.so", он всегда будет использоваться, как здесь.
В моем случае я изменил "prog_LDADD" следующим образом: "prog_LDADD = $ (top_builddir) /src/my_lib.so $ (DEPENDENCY_LIBS)"
В вашем случае попробуйте чтобы удалить AM_LDFLAGS и написать:
LDADD = $ (top_builddir) /src/libgdata.la $ (APIUTIL_LIBS)