programing

전체 백업 컨텐츠 xml 파일을 비워 둘 것인가요, 아니면 모두 포함하기 위해 아예 추가하지 않을 것인가요?

mailnote 2023. 10. 13. 22:23
반응형

전체 백업 컨텐츠 xml 파일을 비워 둘 것인가요, 아니면 모두 포함하기 위해 아예 추가하지 않을 것인가요?

그래서 애플리케이션 매니페스트에 몇 가지를 추가하고 있었는데 애플리케이션 태그에 경고가 표시되어 있었습니다.

SDK 버전 23 이상에서는 앱 설치 시 앱 데이터가 자동으로 백업 및 복원됩니다.백업할 파일을 구성하는 @xml 리소스를 지정하려면 Android:fullBackupContent 특성을 추가하는 것이 좋습니다.

그런 다음에 찾아봤어요.는 2다 두 .<include>그리고.<exclude> 파일도 도 에서 어떤 .<include>그로 지정:

<include>: 시스템에서 기본적으로 앱의 모든 데이터를 백업하는 대신 백업할 리소스 집합을 지정합니다.

을 안때.<include>그,back up all data in your app by default 바로

질문이 : 해야 할까요.backup_content.xml기본 설정이 양호하여 파일을 비워두거나 파일을 전혀 추가하지 않습니까?(이 경우 Android Studio에서 불만이 제기됨)

빠른 해결책:

Android Manifest.xml

<application
    android:allowBackup="true"
    android:fullBackupContent="true"
    ...
    ...
    ...
</application>

자세한 내용은 https://developer.android.com/guide/topics/data/autobackup 을 참조하십시오.

을 제외할 를 할 수도 tools:ignore="AllowBackup"application에 태그를 합니다.AndroidManifest.xml해합니다)를 함)Suppress경고 세부 정보를 볼 때 얻을 수 있는 버튼).

올바른 해결책:

는 입니다가(가) 입니다.<full-backup-content>자원.

우리는 이것을 가지고 있습니다.android:fullBackupContent응용 프로그램 태그에서 자동 백업에 대한 전체 백업 규칙이 포함된 XML 파일을 가리킵니다.이러한 규칙에 따라 백업할 파일이 결정됩니다.

예:

<application ...
    android:fullBackupContent="@xml/my_backup_rules">
</application>

이라는 XML 라는 .my_backup_rules.xmlres/xml/디렉토리 입니다.<include>그리고.<exclude>요소들. 은 device한 모든 공유 합니다.다음 예제에서는 device.xml을 제외한 모든 공유 기본 설정을 백업합니다.

<?xml version="1.0" encoding="utf-8"?>
<full-backup-content>
    <include domain="sharedpref" path="."/>
    <exclude domain="sharedpref" path="device.xml"/>
</full-backup-content>

자세한 정보에 대한 참조:

https://developer.android.com/guide/topics/data/autobackup https://better programming.pub/androids- attribute- android- 백업 허용- demystified-114b88087e3b

저도 같은 질문에 고전했지만 답을 찾지 못했습니다. 지원을 backup.xml다음과 같은 파일이 있습니다.

<?xml version="1.0" encoding="utf-8"?>
   <full-backup-content>

   </full-backup-content>

그리고 잘 작동합니다.

EDIT 06/04/21

방금 구글로부터 공식적인 답변을 받았습니다.IssueTracker:

질문에 대한 답은 파일 포함 및 제외 항목의 맨 앞에 나타납니다. "기본적으로 시스템은 거의 모든 앱 데이터를 백업합니다."지원되는 모든 데이터를 백업하려면 매니페스트 파일에 Android:fullBackupContent를 포함시키지 마십시오.

여기에 제가 발견한 몇 가지 정보가 있습니다.

23+ 대상 앱에 대한 마시멜로 이상의 기본 동작은 모든 것을 백업하는 것입니다.

저는 이 행동을 원한다면 경고를 억제해야 하는 이유로 읽었습니다.

자동 백업은 기본적으로 최신 버전의 앱에서 생성된 백업이 사용자에게 적합하지 않을 수 있다고 가정하기 때문에 해당 백업은 복원되지 않습니다.사용자가 이전 버전의 앱이 미리 설치된 새 장치로 마이그레이션하는 경우에는 복원되는 것이 없으므로 이 문제가 발생할 수 있습니다.

순방향 호환성을 처리할 자신이 있다면 다음을 사용할 수 있습니다.android:restoreAnyVersion="true"행동을 무시하는 것입니다.

추가할 수 있습니다.android:fullBackupContent="true"당신의androidmanifest.xml

<application
        android:allowBackup="true"
        android:fullBackupOnly="true">
</application>

제외나 포함을 정의하지 않으면 전체 백업이 됩니다.

: 시스템에서 기본적으로 앱의 모든 데이터를 백업하는 대신 백업할 리소스 집합을 지정합니다.요소를 지정하면 시스템은 이 요소로 지정된 리소스만 백업합니다.여러 요소를 사용하여 백업할 리소스 집합을 여러 개 지정할 수 있습니다.

언급URL : https://stackoverflow.com/questions/35924609/should-full-backup-content-xml-file-be-empty-or-not-added-at-all-to-include-all

반응형