Не удалось создать IMarketBillingService.aidl для покупки inApp
Я пытаюсь импортировать com.android.vending.billing.IMarketBillingService. Но я получил ошибку:
The import com.android.vending.billing.IMarketBillingService cannot be resolved.
У меня есть еще один проект, где я делаю то же самое, и он отлично работает. Я скопировал файлы, необходимые для покупки в приложении, в новый проект. Это означает, что данные должны быть правильными. (Я заменил имя пакета) Я проверяю несколько раз, я забыл класс. Несколько дней назад я скопировал файлы для коллеги, и это работает.
Я попробовал очистить и обновить проект.
Ответы
Ответ 1
У меня была эта же проблема. Я обнаружил, что вставляя в .aidl перед любыми источниками биллинга в приложении в ваш проект, он будет генерировать .java.
При попытке ссылаться на этот .java файл до его создания будет содержать ошибки. Поскольку у вас есть ошибки, он не будет создавать ваши ресурсы, то есть R.java или IMarketBillingService.java.
Ответ 2
Я исправил это, сняв флажки со всеми строителями на свойствах проекта, нажав "ОК", затем снова проверьте их и нажмите "ОК". Большое спасибо, Google!
Ответ 3
Загрузите исходный код по следующей ссылке, сравните свой код с загруженным кодом, я уверен, что вы исправите свою проблему.
http://www.anddev.org/resources/file/2875
Ответ 4
Вы также можете просто удалить папку gen в eclipse, это должно вызвать перестройку плагина eclipse и создать соответствующий класс java.
Ответ 5
Для меня эта проблема решена следующим образом:
Документация по настройке в файле IInAppBillingService.aidl является неопределенной:
Скопируйте файл IInAppBillingService.aidl в проект Android.
- Если вы используете Eclipse: импортируйте файл IInAppBillingService.aidl в каталог /src.
- Если вы работаете в среде, отличной от Eclipse: создайте следующий каталог /src/com/android/vending/billing и скопируйте файл IInAppBillingService.aidl в этот каталог.
Для меня это подразумевало, что если бы я был в Eclipse, я должен поместить его в корень моей директории src, но если нет, мне нужно было поместить его в указанный пакет. Итак, я поместил файл IInAppBillingService.aidl в корень каталога my/src, и у него были все сбои. Это была проблема.
Я не знаю, почему документы написаны так, но решение было поместить этот файл в соответствующий каталог пакетов, который com.android.vending.billing
, как объявлено внутри файла .aidl. Затем он был успешно сгенерирован, а все остальные файлы были созданы правильно.
Ответ 6
В конце я использую сгенерированный java файл более старого проекта вместо IMarketBillingService.aidl. Теперь он работает.
Ответ 7
В Eclipse, по крайней мере, вам нужно изменить настройки компилятора Java (так как это ошибка компилятора).
Попробуйте изменить уровень соответствия компилятора с 1.5 до 1.6 или 1.7. Это сработало для меня.
Ответ 8
У меня была эта проблема, вот что меня спасло:
- Создайте новый каталог с именем 'aidl' в разделе 'src/main/'. Он должен выглядеть так: src/main/aidl.
- Добавить новый пакет имя com.android.vending.billing 'в каталог src/main/aidl' li >
- Скопировать 'IInAppBillingService.aidl' в пакет, созданный выше. В конце концов, он должен выглядеть примерно так, как показано ниже.
![Screenshot of result]()
Ссылки
https://code.google.com/p/android/issues/detail?id=56755
fooobar.com/questions/49771/...
Ответ 9
У меня возникла эта неприятная проблема при переходе на новую машину. Для меня работала сборка с использованием "ant debug" в командной строке для создания файлов служб биллинга.
http://developer.android.com/guide/developing/building/building-cmdline.html
Ответ 10
Импортируйте всю папку "android-sdk-macosx/extras/google" и все ее проекты. Проект com.example.dungeons.Dungeons должен теперь скомпилировать ok.
Ответ 11
Я пробовал некоторые из методов здесь, но не работал у меня.
Что для меня получилось, это просто Clean
, затем Build All
.
Ответ 12
В моем случае мне пришлось выбрать Android Project Target из Project Properties > Android > Project Build Target.
По-видимому, после моего последнего обновления Eclipse я не загрузил уровень API, который я использовал для работы над проектом. В результате Eclipse не смог разрешить последний использованный уровень API и привел к ошибке.