首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在AOSP构建上安装Google应用程序

在AOSP构建上安装Google应用程序
EN

Stack Overflow用户
提问于 2017-01-17 11:09:31
回答 4查看 23.1K关注 0票数 12

我已经在Nexus 5设备上安装了r72 AOSP。rom不随Google而来。

我尝试过从以下地点安装,但是安装之后

不幸的是,Google服务已经停止。

是否有我必须安装的_Google App_s的特殊版本?

更新:

我在logcat中发现了这个错误:

代码语言:javascript
运行
复制
01-17 11:14:52.750  3525  5402 E AndroidRuntime: FATAL EXCEPTION: GoogleLocationService

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

01-17 11:14:52.750  3525  5402 E AndroidRuntime: java.lang.SecurityException: "gps" location provider requires ACCESS_FINE_LOCATION permission.

01-17 11:14:52.750  3525  5402 E AndroidRuntime:  at android.os.Parcel.readException(Parcel.java:1620)

01-17 11:14:52.750  3525  5402 E AndroidRuntime:  at android.os.Parcel.readException(Parcel.java:1573)

01-17 11:14:52.750  3525  5402 E AndroidRuntime:  at android.location.ILocationManager$Stub$Proxy.addGpsStatusListener(ILocationManager.java:741)

01-17 11:14:52.750  3525  5402 E AndroidRuntime:  at 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:  at akbc.b(:com.google.android.gms:6342)

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

01-17 11:14:52.750  3525  5402 E AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:102)

01-17 11:14:52.750  3525  5402 E AndroidRuntime:  at android.os.Looper.loop(Looper.java:148)

01-17 11:14:52.750  3525  5402 E AndroidRuntime:  at android.os.HandlerThread.run(HandlerThread.java:61)

更新#2

我仍然会得到错误,所以我在GApps git中打开了一个问题。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-01-24 01:48:01

你做错了三件事:

  1. 您通常需要安装从您想要运行的相同版本的Android中提取的APK。
  2. 永远不要从非谷歌网站下载谷歌APK。 3.为了安装系统应用程序,首先需要将系统分区重新装入读-写.

下面是如何获取并安装真正的Google作为系统应用程序:

使用AOSP生成号来获得匹配的工厂映像

您为AOSP代号、标签和生成号提供的链接有您需要匹配的生成号。在页面中搜索android-6.0.1_r72,相应的版本号是M4B30X

而不是从随机网站使用不可信的APK (一个糟糕的想法),你可以直接从工厂图像的帮助下从谷歌的好人那里获得真正的APK。搜索该页面以查找您的版本号M4B30X并下载图像。接下来,将cd放到下载映像的文件夹中,并对SHA-256校验和进行检查:

代码语言:javascript
运行
复制
$ cd Downloads

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

它应该打印:锤头-m4b30x-工厂-10cfaa5c.zip: OK

-If否,请再次下载图像。

闪存工厂图像和拉动真正的GOOGLE

  1. 闪存工厂图像并引导到系统中。
  2. 激活开发人员选项并允许“USB调试”
  3. 现在,使用亚行来拉动(获取) 100%真正的谷歌游戏APK:
代码语言:javascript
运行
复制
$ adb pull /system/priv-app/GoogleServicesFramework/GoogleServicesFramework.apk
$ adb pull /system/priv-app/Phonesky/Phonesky.apk
$ adb pull /system/priv-app/PrebuiltGmsCore/PrebuiltGmsCore.apk

闪存AOSP锤头M4B30X并推动真正的GOOGLE APK

确保您闪现了用户调试eng变体。

将APK文件推送到sdcard:

代码语言:javascript
运行
复制
$ adb push GoogleServicesFramework.apk /sdcard/
$ adb push Phonesky.apk /sdcard/
$ adb push PrebuiltGmsCore.apk /sdcard/

手动安装APK作为系统应用程序

代码语言:javascript
运行
复制
$ sudo adb shell

找到系统分区:root@锤头:/#挂载/ grep " /system“您应该返回:/dev/block/platform/msm_sdcc.1/by-name//system ext4 ro,seclabel,relatime,data=ordered 0

现在将系统分区挂载为rw(读-写)

代码语言:javascript
运行
复制
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

配置AOSP

授予Google应用程序权限

在您的手机上,进入Settings>Apps的溢出菜单(齿轮按钮右上角)

选择显示系统

导航到,Google,,并允许它拥有所有的权限。

对于、、Google服务(PrebuiltGmsCore)也是如此。

现在,确保所有默认的AOSP应用程序都具有各自的权限。

默认情况下,AOSP会关闭许多权限。

允许以下应用程序的所有权限:

Android键盘

浏览器

日历

相机

时钟

联系人

电子邮件

画廊

Launcher3

消息传递

音乐

Phone

如果出于某种原因你不想禁用它,那么搜索就会一直看起来很简陋。

现在,请确保Wifi已连接和/或您的SIM卡在并提供信号。

重启.

当每件事情都被排序时,您应该会有一些简短的错误,尽管如果错误继续,另一个重新引导应该会修复它。

票数 15
EN

Stack Overflow用户

发布于 2017-07-28 22:23:41

和answer的回答将详细介绍这些细节。

添加另一种方法来执行第二步。而不是FLASHing工厂形象和真正的GOOGLE APK

可以使用simg2img将system.img文件转换为可装入的卷。

  1. 使用simg2img将.img文件转换为.raw文件

simg2img /home//./aosp/./out/system.img system.raw

  1. 将原始文件挂载为ext4外部文件系统卷

苏丹山-t ext4 -o循环system.raw /system

您将能够导航您的system.raw映像一旦挂载,您可以访问/priv-app和其他目录,以获得您需要的app,在挂载的卷在/system。

您可以使用这个从system.img获得apks,从谷歌的工厂映像版本中获取apks。

票数 7
EN

Stack Overflow用户

发布于 2017-01-24 22:28:40

这取决于AOSP中这些应用程序的用途。

我可能错了,但是为了为定制设备安装基于Google服务的应用程序,需要与Google签署协议并通过所有的验证测试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41695566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档