AgoraDesk will be winding down
- Effective immediately, all new signups and ad postings are disabled;
- On May 14th, 2024, new trades will be disabled as well;
- After November 7th, 2024, the website will be taken down. Please reclaim any funds from your arbitration bond wallet prior to that date, otherwise the funds may be considered abandoned/forfeited.
F-Droid에 버전이 포함된 Flutter 앱을 게시하는 방법은 무엇인가요?
F-Droid는 Android 플랫폼용 설치 가능한 FOSS(무료 및 오픈 소스 소프트웨어) 애플리케이션 카탈로그입니다. 클라이언트를 사용하면 장치의 업데이트를 쉽게 찾아보고 설치하고 추적할 수 있습니다. F-Droid 웹사이트
이 튜토리얼의 모든 단계는 버전이 없는 앱에서도 작동합니다.
F-Droid에 어떤 앱을 포함할 수 있나요?
앱은 사용된 모든 라이브러리와 종속성을 포함하여 완전한 오픈 소스인 경우에만 F-Droid에 포함될 수 있습니다. 포함 정책에 대해 여기에서 자세히 알아보세요.
예를 들어 앱에서 ObjectBox 데이터베이스를 사용하는 경우 F-Droid에 '포함할 수 없습니다(토론).
1 단계
- Gitlab에서 fdroiddata 저장소를 포크합니다.
- 저장소를 장치에 복제하세요.
- 앱의 번들 ID를 사용하여 브랜치를 생성합니다(예:
co.localmonero.app
)
2 단계
fdroid
가 올바르게 작동하는지 확인하세요. fdroid
폴더에서 다음 명령을 실행하세요:
fdroid 초기화
fdroid readmeta
3단계
프로젝트 추가:
fdroid import --url https://github.com/YOUR_REPO --subdir 앱
메타데이터 디렉터리에 파일이 생성됩니다(예: metadata/co.localmonero.app.yml
).
이 파일을 수동으로 생성할 수도 있습니다.
4단계
파일을 열고 편집하세요. 예는 다음과 같습니다. https://gitlab.com/fdroid/fdroiddata/-/blob/master/metadata/co.localmonero.app.yml.
예에서는 다음을 볼 수 있습니다.
- Flutter는 하위 모듈로 사용됩니다. 이는 F-Droid 팀의 요구 사항입니다.
- 모든 버전에 대해 별도의 분기를 사용했습니다(
AutoUpdateMode: 버전 %v-fdroid-lm
명령). 그 이유는 Fastlane이 ' Flutter의 버전을 지원하지 않기 때문입니다. - 처음 빌드 정보를 수동으로 추가하면 앞으로는 새 태그를 푸시한 후 봇에 의해 자동으로 추가됩니다.
파일의 구문이 올바른지 확인하세요: fdroid readmeta
.
5단계
이제 F-Droid 시장에 대한 데이터를 추가해 보겠습니다. 이를 위해 각 플레이버에 대해 별도의 브랜치를 생성합니다:
- https://github.com/AgoraDesk-LocalMonero/agoradesk-app-foss/tree/fdroid_ad
- https://github.com/AgoraDesk-LocalMonero/agoradesk-app-foss/tree/fdroid_lm
그런 다음 Fastlane용 폴더를 만듭니다. https://github.com/AgoraDesk-LocalMonero/agoradesk-app-foss/tree/fdroid_ad/fastlane/metadata/android/en-US.
필요한 데이터를 추가하고 푸시해 보세요.
6단계
F-Droid에 앱을 추가할 차례입니다.
- 앱 저장소에 태그를 생성하세요.
- Gitlab의 F-Droid 저장소에 변경 사항을 푸시합니다.
- Gitlab 저장소에서 병합 요청을 합니다. 제목에 앱 ID를 사용하세요.
- F-Droid 팀의 검토를 기다려주세요.
결론
프로세스는 약간 복잡하며 그 과정에서 다양한 문제가 발생할 수 있습니다. 하지만 CI를 설정하면 다음 업데이트가 자동으로 처리됩니다.
질문이 있는 경우 GitHub에 문의해 주세요.