Trình giả lập Google Play trên Android 4.0


184

Làm cách nào tôi có thể cài đặt Google Play .apk lên trình giả lập Android 4.0?


1
Lưu ý: các nhận xét có kết quả khác nhau, vì vậy số dặm của bạn có thể thay đổi
amb

nhưng nó giống với các phiên bản giả lập khác, và nó hoạt động ở đó vậy tại sao nó không hoạt động trong 4.x? :)
reox

Câu trả lời:


259

Tải xuống các ứng dụng Google (GoogleLoginService.apk, GoogleServiceFramework.apk, Phoneky.apk)
từ đây .

Bắt đầu trình giả lập của bạn:

emulator -avd VM_NAME_HERE -partition-size 500 -no-audio -no-boot-anim

Sau đó sử dụng các lệnh sau:

# Remount in rw mode.
# NOTE: more recent system.img files are ext4, not yaffs2
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

# Allow writing to app directory on system partition
adb shell chmod 777 /system/app

# Install following apk
adb push GoogleLoginService.apk /system/app/.
adb push GoogleServicesFramework.apk /system/app/.
adb push Phonesky.apk /system/app/. # Vending.apk in older versions
adb shell rm /system/app/SdkSetup*

21
Lưu ý: Vending.apk được gọi là Phoneky.apk trong các phiên bản mới nhất
Catalin Morosan

9
URL bị hỏng :(
TheDude

16
các -partition kích thước param là quan trọng, mà không có nó tôi đã nhận ngoại lệ OutOfMemory trong khi đẩy apks
mike

12
Tôi nghĩ rằng câu trả lời này nên là câu trả lời được chấp nhận. Rốt cuộc, đây là một câu trả lời thực tế, câu trả lời được chấp nhận hiện tại (11/11/2013) chỉ là một "phá vỡ eula giống như một điều xấu, phải không?" loại bình luận.
chris-l

4
Tôi có phải là người duy nhất không thể làm việc này không? Trên cả hai trình giả lập 4.4 và 5.0, việc thêm APK không hiển thị biểu tượng Cửa hàng Play và adb rebootchỉ bị treo.
Nate

85

Đối với du khách trong tương lai.

Tính đến thời điểm hiện tại, nền tảng Android 4.2.2 bao gồm các dịch vụ Google Play. Chỉ cần sử dụng một trình giả lập chạy Jelly Bean. Thông tin chi tiết có thể được tìm thấy ở đây:

Thiết lập SDK dịch vụ Google Play

BIÊN TẬP:

Một lựa chọn khác là sử dụng Genymotion (chạy nhanh hơn)

EDIT 2:

Như @ gdw2 đã nhận xét: "thiết lập SDK dịch vụ Google Play không cài đặt ứng dụng Google Play đang hoạt động - nó chỉ cho phép một số dịch vụ do SDK cung cấp"

Sau phiên bản 2.0 Genymotion không đi kèm với Dịch vụ Play theo mặc định, nhưng nó có thể dễ dàng cài đặt thủ công. Chỉ cần tải xuống phiên bản phù hợp từ đây và kéo và thả vào thiết bị ảo (emulador).


1
@quinestor đúng vậy
Androiderson

6
Mẹ thánh! Genymotion là suweet!
Ross Hambrick

6
@ Exception-al Tôi nghĩ bạn nên cập nhật câu trả lời của mình để làm rõ rằng việc thiết lập SDK dịch vụ Google Play không cài đặt ứng dụng Google Play hoạt động - nó chỉ cho phép một số dịch vụ do SDK cung cấp.
gdw2

1
+1 để đề xuất Genymotion !!! Tôi không biết nó tồn tại và bây giờ tôi không thể sống mà không có nó. Nó chơi hoàn hảo với Android Studio (chỉ cần thêm plugin) và bây giờ tôi có thể ra mắt ứng dụng Google Maps V2 của mình mà không cần dùng đến các thiết bị "thực"! Cảm ơn rất nhiều!
Lâu đài

1
@SeanChamp điểm tốt nhưng các bài kiểm tra cuối cùng phải luôn có trên một thiết bị thực
Androiderson

27

Tôi làm điều này theo cách lâu dài hơn - thay vì cài đặt APK mỗi lần adb, hãy thêm chúng vĩnh viễn vào hình ảnh hệ thống mà trình giả lập sử dụng. Bạn sẽ cần Yaffey trên Windows hoặc một tiện ích tương tự trên các hệ thống khác để sửa đổi hình ảnh YAFFS2. Sao chép GoogleLoginService.apk, GoogleServicesFramework.apkPhonesky.apk(hoặc Vending.apktrong các phiên bản cũ của Android) để các /system/appthư mục của system.imgtập tin của giả lập. Sau đó, tôi có thể khởi động trình giả lập bình thường mà không gặp rắc rối với adb và Play Store luôn ở đó.

Tải ứng dụng Google Play từ thiết bị của bạn

Tải xuống Google Apps từ một số trang Internet có thể không hợp pháp, nhưng nếu bạn có điện thoại hoặc máy tính bảng có phiên bản Android tương ứng, chỉ cần kéo chúng ra khỏi thiết bị của bạn:

adb -d root
adb -d pull /system/app/GoogleLoginService.apk
adb -d pull /system/app/GoogleServicesFramework.apk
adb -d pull /system/app/Phonesky.apk

Bạn phải có quyền truy cập cấp gốc (chạy adb root) vào thiết bị để lấy các tệp này từ thiết bị.

Thêm nó vào hình ảnh

Bây giờ bắt đầu yaffeytrên Windows hoặc một tiện ích tương tự trên Linux hoặc Mac và mở system.imgcho hình ảnh giả lập mà bạn muốn sửa đổi. Tôi sửa đổi thường xuyên nhất trong một [...]\android-sdk\system-images\android-17\x86.

Đổi tên ban đầu system.imgthành system-original.img. Trong yaffey, sao chép các tệp APK bạn đã kéo từ thiết bị của bạn sang thư mục / ứng dụng. Lưu hình ảnh sửa đổi của bạn như system.imgtrong thư mục gốc. Sau đó, khởi động trình giả lập của bạn (trong trường hợp của tôi, đó sẽ là trình giả lập Android 4.2 với bộ xử lý Intel Atom chạy dưới Intel HAX, siêu nhanh trên các máy Windows) và bạn sẽ có Play Store ở đó. Tôi không thấy cần phải xóa SdkSetup.apkSdkSetup.odex- Cửa hàng Play và các dịch vụ khác vẫn hoạt động tốt với tôi với các tệp này.

Khi kết thúc thử nghiệm của bạn, để giảm bớt tội lỗi lương tâm của bạn khi tạm thời vi phạm bản quyền Ứng dụng Google khỏi thiết bị của bạn, bạn có thể xóa bản sửa đổi system.imgvà khôi phục bản gốc từ đó system-original.img.


5
Dường như không có trình soạn thảo YAFF2 nào hoạt động cho Linux, nhưng may mắn thay, hóa ra là với thay đổi một dòng, Yaffey tự biên dịch và chạy trên Linux. Đăng các bước tôi đã sử dụng trên câu hỏi Hỏi Ubuntu này.
Ốc cơ khí

+ 1s là quá ít cho hạnh phúc khoảnh khắc aha- .. StackOverflow nên có một nụ hôn-cos-ur-so-hạnh phúc-nút :)
Abhishek Susarla

Tôi đã có thể rút ba APK khỏi điện thoại Android 4.1.2 mà không cần root, nhưng tôi vẫn đang làm việc để cài đặt chúng ở một nơi khác.
bonh

Bất kỳ yaffey thay thế cho Mac?
Olcay Ertaş

1
@ OlcayErtaş Mac Yaffey: github.com/danielkutik/yaffey . Xây dựng một Yaffey.app, hoạt động hoàn hảo trên Yosemite của tôi.
Xiao

4
  1. Tải xuống gói gapps từ http://goo.im/gapps
  2. trích xuất GoogleLoginService.apk, GoogleServiceFramework.apk và Vending.apk Chuyển đến loại cửa sổ cmd adb shell
    1. trên loại vỏ mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    2. sau đó nhấn Ctrl + c để thoát. cd vào thư mục nơi apks đã được trích xuất,
    3. kiểu adb push <appname>.apk /system/app
    4. sau đó gõ adb reboot

Nơi tôi cần đặt tệp .apk. Trong các công cụ nền tảng gói dự án hoặc quảng cáo của tôi?
Steve

sao chép nó vào các công cụ nền tảng trừ khi bạn đã đặt biến môi trường PATH của mình
mất ngủ

1
Quyền bị từ chối.
Sanyam Jain

@SanyamJain Bạn đã giải quyết vấn đề đó? Tôi nhận được thông điệp tương tự, gắn kết: Quyền bị từ chối
Joshua Son

@JoshuaSon: Không tôi không thể. Và sau khi đọc từ nhiều nguồn khác nhau, tôi đã kết luận rằng nó có thể không đáng để nỗ lực, vì trình giả lập tiếp tục bị lỗi hoặc chiến lược này không hoạt động cho các phiên bản Android sắp tới. Sửa lỗi cho tôi nếu tôi sai :)
Sanyam Jain

2

Bạn có thể tải xuống từ điện thoại Android 4.0 rồi gắn hình ảnh hệ thống rwvà sao chép lại.

Không thử nó trước nhưng nó sẽ hoạt động.


Không, zip với GAPPS là quá lớn.
IgorGanapolsky

2

Thật đơn giản đối với tôi, tôi đã tải xuống tệp apk trong máy tính của mình và kéo tệp đó để giả lập nó cài đặt google play cho tôi. Hy vọng nó sẽ giúp được ai đó


0

Cửa hàng Play + Dịch vụ Google Play trong Linux (Ubuntu 14.04)


Tải xuống ứng dụng Google (GoogleLoginService.apk, GoogleServiceFramework.apk)

từ đây http://www.securitylearn.net/2013/08/31/google-play-store-on-android-emulator/

và Tải xuống (điện thoạiky.apk) từ đây https://basketbuild.com/filedl/devs?dev=dankoman&dl=dankoman/Phonesky.apk

ĐI ĐẾN VỊ TRÍ SDK ANDROID >>

cd - Các công cụ của SDK SDK Vị trí-

ĐỂ CHẠY MÁY TÍNH >>

Android / Sdk / công cụ $ ./emulator64-x86 -avd Kitkat -partition-size 566 -no-audio -no-boot-anim

THIẾT LẬP GIẤY PHÉP >>

cd Android / Sdk / platform-tools platform-tools $ adb shell mount -o remount, rw -t yaffs2 / dev / block / mtdblock0 / system

công cụ nền tảng $ adb shell chmod 777 / system / app

công cụ nền tảng $ adb đẩy /home/nazmul/Doads/GoogleLoginService.apk / system / app /.

CHƠI TRÒ CHƠI >>

công cụ nền tảng $ adb push /home/nazmul/Doads/GoogleServiceFramework.apk / system / app /. công cụ nền tảng $ adb đẩy /home/nazmul/Doads/Phonesky.apk / system / app /. công cụ nền tảng $ adb shell rm / system / app / SdkSetup *


Hệ thống không có đủ dung lượng để cài đặt GAPPS.
IgorGanapolsky

-1

Bạn đã bao giờ thử Genymotion chưa? Tôi đã đọc về nó tuần trước và nó là tuyệt vời. Họ có một số Hình ảnh Android mà bạn chạy (với phần mềm của riêng họ). Các hình ảnh được TĂNG CƯỜNG nhanh chóng và chúng có cài đặt Google Play trên chúng. Kiểm tra xem nó có phải là thứ bạn cần không.

http://www.genymotion.com/


genymotion không cung cấp cho VM mức API thấp hơn 16
martyglaubitz

Như một nhận xét về Genymotion, trong lời khuyên cho người đọc tùy ý: Genymotion sử dụng nền tảng VirtualBox Virtualization. VIrtualBox được thiết kế để mô phỏng các nền tảng vi điều khiển của Intel. Do hạn chế này, có thể không thể mô phỏng các nền tảng vi điều khiển ARM với Genymotion. Tất nhiên, điều này có thể phục vụ để đưa ra một câu hỏi trực giao, như liệu, khi nào và tại sao có thể cần phải kiểm tra beta một ứng dụng bằng SDK đa nền tảng, trên mỗi trình giả lập vi điều khiển hoặc vi điều khiển có thể. Giới hạn Intel-virt có thể không phải là mối quan tâm nhiều, không phải trong tất cả các ứng dụng?
Sean Champ
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.