2015-02-13 17 views
7

Tôi đã cố triển khai bản sao lưu trên ứng dụng của mình trong hơn một tháng nhưng không thành công cho đến bây giờ. Tôi đã làm tất cả các bước mà Google docs thông báo: đăng ký trên Google Dịch vụ Những thay đổi trên Manifest (allowBackup, backupAgent và backup.api_key (đăng ký dịch vụ google) và vân vân ...Trình quản lý sao lưu Android chỉ hoạt động trên phương tiện cục bộ

phần Manifest:

<application 
    android:allowBackup="true" 
    android:backupAgent="my.package.MyBackupManagerClass"> 

<meta-data android:name="com.google.android.backup.api_key" 
    android:value="my-generated-key-by-google-service" /> 

Trong thực tế, sao lưu đang làm việc, nhưng chỉ sử dụng các phương tiện giao thông địa phương, tôi đã thử nghiệm sử dụng bmgr sao lưu/run/khôi phục:

bmgr list transports 
    * android/com.android.internal.backup.LocalTransport 
    com.google.android.gms/.backup.BackupTransportService 

Nhưng khi cố gắng sử dụng phương tiện di chuyển của Google (cloud: com.google.android.gms/.backup.BackupTransportService) nó không hoạt động, thậm chí không gọi số onCreate() của mình từ MyBackupAgentHelper.

Một điểm mà tôi muốn đề cập đến là khi tôi chạy: bmgr sao lưu bmgr chạy

Sau khi lệnh chạy, trên logcat cho thấy rất nhiều "Bây giờ dàn sao lưu" (cũng cho thấy ứng dụng của tôi gói trong danh sách này) nhưng nó xảy ra rất nhanh và không có vẻ như các sao lưu đang được thực hiện trên thực tế, sau khi tất cả, thậm chí MyBackupHelper.onCreate của tôi() không được gọi:

02-12 21:13:28.889: D/BackupManagerService(547): Now staging backup of com.google.android.talk 
02-12 21:13:28.904: D/BackupManagerService(547): Now staging backup of com.google.android.dialer 
02-12 21:13:28.907: D/BackupManagerService(547): Now staging backup of com.android.providers.settings 
02-12 21:13:28.910: D/BackupManagerService(547): Now staging backup of com.sirma.mobile.bible.android 
02-12 21:13:28.914: D/BackupManagerService(547): Now staging backup of com.android.sharedstoragebackup 
02-12 21:13:28.919: D/BackupManagerService(547): Now staging backup of com.google.android.gm 
02-12 21:13:28.922: D/BackupManagerService(547): Now staging backup of com.android.providers.userdictionary 
02-12 21:13:28.926: D/BackupManagerService(547): Now staging backup of com.google.android.apps.genie.geniewidget 
02-12 21:13:28.963: I/GmsBackupTransport(1409): Next backup will happen in 86399923 millis. 
02-12 21:13:28.967: I/BackupManagerService(547): Backup pass finished. 
+0

Bạn nên đăng tệp kê khai để chúng tôi có thể đảm bảo rằng bạn đã đăng ký dịch vụ và tác nhân sao lưu chính xác. –

+0

@Kairos, tôi đã thêm thông tin kê khai về câu hỏi. – JonasOliveira

+0

Đây có phải là một trình giả lập hoặc thiết bị vật lý không? –

Trả lời

0

tôi đã có tình trạng tương tự - khi tôi chạy sao lưu thủ công (thông qua lệnh shell adb) đang hoạt động, nhưng chỉ sử dụng Local tran thể thao. Đối với tôi, giải pháp là xuất bản các dịch vụ của Google Play, bởi vì tôi đã thử nghiệm dịch vụ sao lưu dữ liệu mà không có dịch vụ GP được xuất bản. Kiểm tra cấu hình bảo vệ của bạn nếu bạn đang sử dụng Proguard

+1

ý của bạn là "với các dịch vụ công khai của Google Play"? Cấu hình nào trên Proguard chúng tôi có thể kiểm tra? Cảm ơn! – JonasOliveira

+0

Tôi đã chuẩn bị ứng dụng mới và lần đầu tiên tôi chưa phát hành dịch vụ Google Play. Vì vậy, đối với tôi, đó là: 1. Phát hành (công khai) các dịch vụ Google Play và thêm dòng này vào proguard (-keep class * mở rộng android.app.backup.BackupAgentHelper). Tôi không biết nếu dòng này trong proguard là cần thiết. – Bero

+0

Ok hiểu rồi. Vì vậy, có thể sao lưu trên mạng chỉ hoạt động sau khi bạn xuất bản ứng dụng?Khi tôi đang thử nghiệm ứng dụng của mình cũng chưa được xuất bản trên Google Play. – JonasOliveira

Các vấn đề liên quan