web-dev-qa-db-fra.com

Installer Google Apps sur AOSP Build

J'ai installé Android-6.0.1_r72AOSP Rom sur un périphérique Nexus 5 _... La rom ne vient pas avec Google Apps.

J'ai essayé d'installer depuis le site suivant , mais après l'installation je reçois 

Malheureusement, les services Google Play se sont arrêtés

Existe-t-il une version spéciale de Google App que je dois installer?

METTRE À JOUR:

J'ai trouvé cette erreur dans logcat:

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: EXCEPTION FATALE: GoogleLocationService

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: Traitement: com.google.Android.gms.persistent, PID: 3525

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: Java.lang.SecurityException: le fournisseur d'emplacement "gps" nécessite l'autorisation ACCESS_FINE_LOCATION.

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à Android.os.Parcel.readException (Parcel.Java:1620)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à Android.os.Parcel.readException (Parcel.Java:1573)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à Android.location.ILocationManager $ Stub $ Proxy.addGpsStatusListener (ILocationManager.Java:741)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à Android.location.LocationManager.addGpsStatusListener (LocationManager.Java:1522)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: at aker.a (: com.google.Android.gms: 1064)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à akbc.b (: com.google.Android.gms: 6342)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à akbc.handleMessage (: com.google.Android.gms: 279)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à Android.os.Handler.dispatchMessage (Handler.Java:102)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à Android.os.Looper.loop (Looper.Java:148)

01-17 11: 14: 52.750 3525 5402 E AndroidRuntime: à Android.os.HandlerThread.run (Gestionnaire de fichiers Thread.Java:61)

UPDATE # 2:

Je reçois toujours l'erreur, alors j'ai ouvert un problème dans GApps git .

6
shlatchz

Trois choses que vous faites mal:
1. Vous devez généralement installer APK à partir de la même version d'Android que celle que vous souhaitez exécuter.
2. Ne téléchargez jamais Google APK de sites autres que Google.
3. Pour installer des applications système, vous devez d’abord remonter la partition système en lecture-écriture. 

Voici comment obtenir et installer ensuite Google APK authentique sous forme d'applications système:

UTILISEZ VOTRE NUMÉRO DE CONSTRUCTION AOSP POUR OBTENIR L'IMAGE USINE CORRESPONDANTE
Le lien que vous avez fourni pour noms de code AOSP, balises et numéros de construction comporte des numéros de construction que vous devez faire correspondre. Recherchez Android-6.0.1_r72 dans la page et le numéro de version correspondant est M4B30X.

Au lieu d'utiliser des APK non fiables provenant de sites aléatoires (une idée terrible), vous pouvez obtenir une version authentique des APK directement auprès des utilisateurs de Google avec l'aide de Factory Images . Recherchez le numéro de construction M4B30X dans la page et téléchargez l’image image . Ensuite, insérez cd dans le dossier où vous avez téléchargé l’image et effectuez une vérification du SHA-256

$ cd Downloads

$ echo "10cfaa5c8ff1753af20283f5e5f938ddebbad094c4e22aadbd925ecdc806e8b3   
  hammerhead-m4b30x-factory-10cfaa5c.Zip" | sha256sum -c

Il devrait imprimer: hammerhead-m4b30x-factory-10cfaa5c.Zip: OK
- Sinon, téléchargez à nouveau l'image.

FLASH FACTORY IMAGE ET PULL GENUINE GOOGLE APK
1. Flash l'image d'usine et démarrer dans le système.
2. Activer les options du développeur et autoriser le «débogage USB»
3. Maintenant, utilisez ADB pour obtenir (obtenir) le fichier Google Play APK à 100% authentique: 

$ adb pull /system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
$ adb pull /system/priv-app/Phonesky/Phonesky.apk
$ adb pull /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk

FLASH AOSP HAMMERHEAD M4B30X ET APPUYER VÉRITABLE GOOGLE APK
Assurez-vous de flasher la variante userdebug ou eng.

Poussez les fichiers APK sur votre carte SD: 

$ adb Push GoogleServicesFramework.apk /sdcard/
$ adb Push Phonesky.apk /sdcard/
$ adb Push PrebuiltGmsCore.apk /sdcard/

INSTALLER MANUELLEMENT APK AS SYSTEM APPS

$ Sudo adb Shell

Recherchez la partition système: Root @ hammerhead:/# mount | grep "/system"Vous devriez obtenir en retour: /dev/block/platform/msm_sdcc.1/nom/system/system ext4 ro, seclabel, relatime, data = order 0 0

Maintenant montez cette partition système en tant que rw (lecture-écriture)

root@hammerhead:/ # mount -o remount,rw -t ext4 /dev/block/platform/msm_sdcc.1/by-name/system /system 

root@hammerhead:/ # cd /system/priv-app   
root@hammerhead:/ # mkdir GoogleServicesFramework
root@hammerhead:/ # mkdir Phonesky
root@hammerhead:/ # mkdir PrebuiltGmsCore

root@hammerhead:/ # cp /sdcard/GoogleServicesFramework.apk GoogleServicesFramework/GoogleServicesFramework.apk
root@hammerhead:/ # cp /sdcard/Phonesky.apk Phonesky/Phonesky.apk
root@hammerhead:/ # cp /sdcard/PrebuiltGmsCore.apk PrebuiltGmsCore/PrebuiltGmsCore.apk

root@hammerhead:/ # chmod 755 GoogleServicesFramework
root@hammerhead:/ # chmod 755 Phonesky
root@hammerhead:/ # chmod 755 PrebuiltGmsCore

root@hammerhead:/ # chmod 644 GoogleServicesFramework/GoogleServicesFramework.apk
root@hammerhead:/ # chmod 644 Phonesky/Phonesky.apk
root@hammerhead:/ # chmod 644 PrebuiltGmsCore/PrebuiltGmsCore.apk

CONFIGURER AOSP 

Accorder des autorisations à Google Apps
Sur votre téléphone, allez dans Paramètres> Applications Dans le menu de débordement (bouton de l'engrenage en haut à droite)
Sélectionnez Afficher le système
Accédez à Google Play Store et accordez-lui toutes les autorisations.
Faites de même pour Google Services Framework et Google Play Services (PrebuiltGmsCore).
Maintenant, assurez-vous que TOUTES les applications AOSP par défaut disposent de leurs autorisations respectives.
AOSP par défaut est livré avec de nombreuses autorisations désactivées.
Autoriser toutes les autorisations pour les applications suivantes:
Clavier Android
Navigateur
Calendrier
Caméra
L'horloge
Contacts
Email
Galerie
Lanceur3
Messagerie
La musique
Téléphone

* Et le très-janky regardant Search, si pour une raison quelconque vous ne voulez pas le désactiver.

Maintenant, assurez-vous que le Wifi est connecté et/ou que votre carte SIM est insérée et émet un signal.
Redémarrage.
Vous devriez avoir quelques brèves erreurs alors que tout est trié, bien que si les erreurs persistent, un autre redémarrage devrait résoudre le problème.

10
andDevW

La réponse de andDevW couvre les détails. 

Ajout d'une autre façon de faire la deuxième étape. Au lieu de FLASHING FACTORY IMAGE ET PULL GENUINE GOOGLE APK,

vous pouvez utiliser simg2img pour convertir le fichier system.img en un volume pouvant être monté 

  1. Utilisez simg2img pour convertir votre fichier .img en fichier .raw
simg2img /home/<user>/../aosp/../out/system.img system.raw
  1. monter le fichier brut en tant que volume de système de fichiers externe ext4
Sudo mount -t ext4 -o loop system.raw /system

vous pourrez naviguer dans votre image system.raw une fois montée et vous pourrez accéder à/priv-app et à d'autres répertoires pour obtenir les apks dont vous avez besoin dans le volume monté sur/system.

Vous pouvez vous en servir pour obtenir des apks de system.img dans les versions d’image d’usine de Google.

3
Siddharth N

Cela dépend du but de ces applications dans votre AOSP.

Je me trompe peut-être, mais pour installer des applications basées sur le service Google Play sur un appareil personnalisé, il est nécessaire de signer un accord avec Google et de passer tous les tests de vérification.

1
Taras

L'erreur que vous obtenez est liée aux autorisations d'exécution, concept introduit dans l'API Android de niveau 23 (à partir de Marshmallow). Auparavant, toutes les autorisations requises par une application étaient fournies implicitement lors de l'installation par l'utilisateur, c'est-à-dire que vous acceptez de donner les autorisations nécessaires à l'application en l'installant. 

Google a révisé cela. À partir du niveau 23 de l'API, non seulement une application doit déclarer toutes les autorisations dont elle a besoin dans le manifeste, mais si l'une de ces autorisations est classée comme DANGEREUSE, l'application doit en faire la demande au moment de l'exécution. Comment une application doit faire cela - https://developer.Android.com/training/permissions/requesting.html

J'ai expliqué tout cela simplement pour vous donner un contexte. Dans votre cas, le problème est que les applications que vous essayez d'installer n'ont pas été conçues pour s'exécuter sur des API de niveau 23 ou supérieur. Lorsque vous les avez installées, certaines autorisations ne leur ont pas été implicitement accordées et, comme les applications ne les demandent pas au moment de l'exécution, elles se terminent sans l'autorisation nécessaire pour effectuer certaines tâches (dans votre cas, accédez à l'emplacement du périphérique).

Bref, essayez de trouver une version de l’application conçue pour Marshmallow et les versions ultérieures. Malheureusement, Google a apporté cette modification de manière à limiter dans une certaine mesure la compatibilité avec les versions antérieures. Donc tu ne peux pas t'échapper. Trouver une version plus récente

0
Dibzmania