عدم تطابق توقيع عامل النسخ الاحتياطي أثناء الاستعادة

StackOverflow https://stackoverflow.com/questions/6383557

سؤال

[تحرير] من جميع المعلومات التي أضفتها ، يبدو أن سبب ذلك هو تسجيل تطبيقي نفسه كتطبيق جديد تحت نفس UID على الرغم من كونه نفس الإصدار في نفس ملف apk. أي أفكار لبدء الإصلاح ستكون محل تقدير كبير

لقد قمت بتطبيق رمز عام في تطبيقي باستخدام فئة المساعد لأنني أريد فقط نسخ ملف التفضيلات المشتركة احتياطيًا.

يبدو أنه يتم إجراء مكالمات احتياطية بشكل جيد. إذا قمت بإجراء "تشغيل bmgr" بعد أن يقوم التطبيق بعمل رمز عام ، فسأحصل على ما يلي في logcat: Genacodicetagpre

ومع ذلك ، حتى لو تم ذلك على الفور ، فإن إجراء "استعادة bmgr" ينتج عنه ما يلي في logcat:

Genacodicetagpre

إخراج وحدة التحكم للاستعادة هو: Genacodicetagpre

أي أفكار؟ من الواضح أنه نفس الإصدار والتوقيع ، حيث لم أقم بإلغاء التثبيت / المسح / أي شيء. لقد اشتركت جميعًا في خدمة النسخ الاحتياطي ، والمفتاح موجود بشكل صحيح ، وما إلى ذلك.

تحرير: يبدو أنه يعمل بشكل جيد كإصدار موقّع لمفتاح تصحيح الأخطاء ، لكنه يفشل مثل هذا في ملف apk مُصدَّر ومُبهم ومحاذي zipaligned مفتاح الإصدار. سيكون ذلك منطقيًا بالنسبة لي إذا كنت أحاول استعادة البيانات من بنية تصحيح الأخطاء في بنية الإصدار ، لكنني لست كذلك.

edit2: لقد حاولت تغيير أسماء المساعد وما إلى ذلك وما زلت أحصل على نفس السلوك. يعمل ملف APK الموقّع باستخدام مفتاح التصحيح بشكل مثالي ، ويمكنه إجراء النسخ الاحتياطي وإلغاء التثبيت وإعادة التثبيت واستعادته تلقائيًا. يقوم الإصدار apk الموقّع باستخدام المفتاح بهذا الإجراء في كل مرة. ما زلت قلقة قليلاً بشأن المكالمات الاحتياطية المتكررة بأرقام @ مختلفة على الرغم من استدعاء وظيفة داخلية واحدة فقط. يقوم مصحح الأخطاء بهذا أيضًا ، ومع ذلك ، لا يمكن أن يكون الأمر كذلك تمامًا.

يظهر إخراج نسخة احتياطية من dumpsys الحزمة الخاصة بي أربع مرات ... Genacodicetagpre

edit3: يؤدي إلغاء التثبيت وإعادة التثبيت باستمرار إلى استمرار إضافة مثيلات جديدة من تطبيقي ضمن نفس المعرف الفريد. إنها نفس البنية لنفس التطبيق من نفس ملف apk ، لكنها تستمر في إنشاء نسخ جديدة لنفسها في تلك القائمة. هل هذا سلوك صحيح؟ بعد الاطلاع على مصدر رمز الترميز العام ، يبدو (إذا قرأته بشكل صحيح) أنه في وضع تصحيح الأخطاء ، لا يهتم المدير حقًا بالتوقيعات ، وهذا على الأرجح سبب تشغيله بشكل جيد.

هل كانت مفيدة؟

المحلول 3

لقد أصلحت نفسها بنفسها.جميع الحالات المتعددة موجودة ، لكنها تعمل الآن.توقفت فجأة عن الشكوى من عدم تطابق التوقيع.

أعتقد أن الدرس المستفاد هو أنك إذا كنت متأكدًا من أنك فعلت ذلك بشكل صحيح ، فما عليك سوى الانتظار: P

نصائح أخرى

تعطيل النسخ الاحتياطي من الإعدادات -> الخصوصية ، فإنه يحذف جميع النسخ الاحتياطية.ثم قم بتمكينه وسيعمل كل شيء مرة أخرى.

كانت لدي نفس المشكلة ولم يحلها رمز الترميز العام.

ما ساعدني هو تبديل النسخ الاحتياطي من رمز الترقيم العام: Genacodicetagpre

راجع للشغل.بينما كنت مستخدمًا "عاديًا" فشل مع هذا الخطأ: Genacodicetagpre

تم التبديل إلى مستخدم متميز برمز العلامة العامة وتم اجتياز العمليات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top