Відсутня папка “<sdk> / extras / google / google_play_services / libproject” після оновлення до версії 30


75

Я оновив версію Служб Google Play з версії 29 на 30, використовуючи Менеджер SDK для Android, але після оновлення каталогу "<sdk>/extras/google/google_play_services/libproject"зник, залишивши лише каталоги "docs" та "sample".

Я намагався видалити та перевстановити кілька разів, але завжди трапляється, що я пропускаю каталог "libproject".

Хтось мав цю проблему з оновленням?

Я використовую Debian Linux 8.4 (jessie), хоча не вірю, що це має якесь відношення до проблеми.

Екран Android SDK Manager

Екран каталогу google_play_services


1
перед тим, як прийти rev 30, я використовую rev 29 у багатьох іграх і працює нормально, але коли rev 30 прибуде rev 29 не працює, тоді я оновився до rev 30, тепер реклама працює знову, здається, rev 29 і нижче вже не працює, я використовую union3d до речі
Йог

@ Йогі. Коли я роблю це, я отримую помилку "Не знайдено ресурс" для цих двох: "@android: style / Theme.Holo.Light.DialogWhenLarge.NoActionBar" та "@android: style / Theme.Material.Light.DialogWhenLarge.NoActionBar". Як ви подолали це питання?
Ендрю S

Відповіді:


62

Схоже, Google просто розбив Служби Google Play на кілька бібліотек. Ви знайдете їх у <sdk>/extras/google/m2repository/com/google/android/gms, якщо ви також оновлювали їх Google Repositoryчерез менеджер SDK.

Окремі бібліотеки мають aarформат, тому вам доведеться самостійно витягувати їх jar, якщо це те, що ви шукаєте.


2
Як я використовую їх у Eclipse. У мене є застарілий проект, який через це зламався.
Ендрю S

14
Ось кроки: 1. Перейменуйте .aar на .zip 2. Розпакуйте файл 3. Створіть папку 'libs' і перемістіть у неї файл classes.jar 4. Імпортуйте проект в Eclipse, використовуючи New -> Project -> Проект Android з існуючого вихідного коду 5. Перейдіть до властивостей проекту та встановіть цільову
збірку

10
де я можу знайти інформацію про це? Я вважаю смішним те, що Google зробив це, не давши людям знати ... не кажучи вже про те, що вони не оновили свій веб-сайт цією інформацією ...
Персонал Vancert

1
@Cigogne Eveillée Класи у файлі classes.jar заблоковані та перейменовані, неможливо імпортувати класи AdListener, AdRequest, InterstitialAd тощо
Smeet

6
16 липня 2016 р .: служби Google Play 31, без проекту lib та використання .aar версії 9.2.0, 9.2.1 обидва не надаватимуть класи для імпорту. Зверніться до цієї статті, якщо хочете використовувати оновлену бібліотеку gms-ads та додати всю необхідну бібліотеку проекту занадто впорядковано, щоб дозволити імпортувати класи, але все одно це призведе до помилки надування com.google.android.gms.ads.AdView у XML ... ...... остаточне рішення повернеться до 28 або 29, якщо ви все одно хочете дотримуватися Eclipse, який, безумовно, оптимізований та зручний для пам'яті для розробників Android .... github.com/dandar3/android-google-play- services-ads
mfaisalhyder

45

Я працюю над застарілим проектом в Eclipse, і вирішив проблему дещо інакше, ніж інші. Для мене, що використовував проект з Google Play Services, версія 29, були всілякі проблеми залежності, які я не міг вирішити. Наприклад, вона хотіла бібліотеку сумісності v4, тому я її імпортував, але навіть тоді вона не змогла знайти потрібні ресурси.

Однак я зміг використовувати версію 28 без таких проблем і встановив мінімальну версію мого додатка як ICS. Нижче наведено посилання на версію 28. Завантажте її, розпакуйте та витягніть папку libproject туди, де вона зазвичай була до видалення.

Імпортуйте проект у Eclipse (переконайтеся, що вибрані файли копіювання) звичайним способом, і все буде добре.

https://dl-ssl.google.com/android/repository/google_play_services_8298000_r28.zip


3
Дякую, я 4 години пробував інші рішення, і це єдине, що спрацювало. Вічно вдячна :)
Барбара ПМ

1
Дякую вам сер! Шкода, що інструкції Google не працюють.
user1010160 07

@Andrew S Ваше рішення спрацювало для мене, дякую. У своїй відповіді про те, як я реалізував рішення, я надав ще кілька деталей та знімків екрана: stackoverflow.com/questions/42979484/… .
Хайме Монтойя,

@Jamie_montoya Я радий, що ти знайшов це корисним, але це питання потрібно позначити як повтор цього.
Andrew S,

11

Наразі я повернувся до версії 29 (і працював добре), використовуючи історію версій, доступну на цьому веб-сайті: http://www.smorgasbork.com/2015/01/05/google-play-services-sdk-version-history

Я вважаю, що можливо, це новий формат, який Google надаватиме бібліотеки (у файлах .aar) вгору через опис оновлення:

введіть тут опис зображення

У редакції номер 29 написано " клієнтська бібліотека та зразок коду", а в редакції 30 - " javadocs і та зразок коду".


4

Папка m2repository містить файли aar, що використовуються для android studio. Якщо ви подивитеся на папку зразків і відкриєте якийсь файл зразків програм project.properties, то побачите, що зразки додатків все ще посилаються на google-play-services_lib. Це напевно вирішить Google, я також бачив, як люди скаржились на проблему з графічними оголошеннями, тож, можливо, вони повернуться із оновленням досить скоро.


1
@jefferson_amarals, можливо, ти маєш рацію. Причиною того, чому вони потенційно його видалили, є, мабуть, те, що інтеграція Firebase може спричинити обмеження в 65 тис. Ось чому у нас насамперед окремі бібліотеки API. Якщо вам усе ще потрібна бібліотека, цей хлопець створив проект lib eclipse, який інтегрує файли jar для нових служб відтворення, і той же метод можна використовувати і для інших API: github.com/dandar3/android-google-play-services- base Також він написав невеликий підручник про те, як витягти необхідні JAR-файли з AAR тут: plus.google.com/112240505564011894075/posts/6zpkvmVtGhU
Сава Мікалачка,

4

Я розмістив запитання щодо цього на форумі розробників Google Mobile Ads SDK. Підсумовуючи кроки у відповіді (від Veer Busani, команда мобільних оголошень SDK):


Ми ніколи не рекомендуємо вам перейменовувати / редагувати будь-яку частину Android SDK. Якщо ви виявите якісь проблеми, повідомте нам про це, і ми розглянемо їх. Що стосується інтеграції мобільних оголошень / Unity / Android, я, безумовно, допоможу вам. Будь ласка, виконайте ці кроки, якщо ви перебуваєте на службі Google Play, версія 30.0 (v 9.0) -

  • Створіть новий проект та імпортуйте пакет Mobile Ads Unity .
  • Скопіюйте наш демонстраційний сценарій , створіть новий порожній GameObject і додайте сценарій як компонент.
  • Клацніть правою кнопкою миші папку Assets> PlayServicesResolver і виберіть Google Play Services> Resolve Client Jars .
  • Існує відома проблема з редакцією GMS 30 в Unity. Для побудови для Android вам потрібно буде вибрати Активи> Плагіни> Android> файл firebase-common-9.0.0.aar, а в Unity Inspector скасувати вибір Android у розділі Платформа для плагінів .
  • Нарешті, відредагуйте ідентифікатор Bundle у налаштуваннях програвача та розгорніть свій чудовий проект на своєму пристрої Android.

Це спрацювало.


Що спільного для мобільних додатків пов’язано з картографічними послугами? Це здається дуже заплутаним шляхом, якщо намір полягає в тому, щоб мати додаток із картою.
Andrew S,

1
@AndrewS: ваш коментар - це єдине посилання на "карту" на цій сторінці - ні питання, ні будь-яка з поточних відповідей не стосуються картографування. Йдеться про сервіси Google Play, які необхідні для підтримки мобільної реклами (серед іншого). Мета встановлення GPS несуттєва ... її встановлення та функціонування є кінцевою метою. Цю відповідь було підсумовано з офіційної відповіді на форумі підтримки, тому будь-яка заплутаність пов’язана з нещасним випуском SDK після введення-виведення в Google.
fadden

рік досить справедливий я припускаю. Я припустив, що це питання, орієнтоване на Android, але, гадаю, це стосується і єдності і, крім того, додає загалом ..
Ендрю С
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.