Я точно знаю, о чем вы говорите, и я часами искал ответ. Затмение действительно проливает свет на эту проблему.
Если вы еще этого не сделали, настройте проект Android Eclipse для «Run Configurations», используя меню «Eclipse Run». На вкладке «Цель» установите для «Режим выбора цели развертывания» значение Вручную. Затем закройте конфигурацию запуска.
Затем запустите ваш эмулятор с вашим system.img и щелкните правой кнопкой мыши по вашему проекту Eclipse и выберите «Запуск от имени» и «Приложение Android». Откроется Eclipse «Выбор устройства Android». В верхней части вы должны увидеть ваш эмулятор / устройство (вероятно, «emulator-5554») и имя AVD (вероятно, «построить» с угловыми скобками вокруг него), а затем цель (вероятно, вопросительный знак - означает неизвестный). Я думаю, что эта неизвестная цель является корнем проблемы.
Чтобы эмулятор или AVD поддерживали API Google, цель Android должна указывать «Google API» (Google Inc.) с зеленой галочкой слева. Но вместо этого мы с вами получаем знак вопроса и сообщение об ошибке, например «Failure [INSTALL_FAILED_MISSING_SHARED_LIBRARY]», если мы используем «adb install google_api_project.pkg» или используем Eclipse для запуска приложения на эмуляторе / устройстве с неизвестной целью.
Трудно поверить, что никто другой не сталкивался с этой проблемой и не опубликовал решение для нее. Я копаю варианты компилятора для создания исходного кода Android на основе API Google. При сборке ядра я уже пытался извлечь конфиг из AVD Google API и использовать его для сборки ядра. Я боюсь делать make clean или make mrproper, поэтому все, что я делаю, это перестраиваю с новым .config, который перестраивает с новым .config.
Я все еще ищу ответ на ваш вопрос, который вы задали так четко и сжато. Просто очень плохо, что никто, кажется, не понимает или не заботится об этом вопросе ... пока.
Чуть позже я нашел это:
http://code.google.com/android/add-ons/google-apis/index.html
Это становится интересным. Внимательно прочитайте раздел, посвященный теме «Надстройка также предоставляет совместимый образ системы Android, который работает в эмуляторе Android», но нет инструкций по его созданию.
И через некоторое время я нашел это:
http://osdir.com/ml/Android-Developers/2009-10/msg00361.html
Он предлагает удалить такие вещи, как из AndroidManifest, если вы поместите их в путь сборки. Теперь мое приложение загружается и запускается. Он еще не полностью функционирует, но загружается и работает.
Но проблема затмения все еще интересна.