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 ウェブサイト
【X330X】このチュートリアルのすべての手順は、フレーバーなしのアプリでも機能します。
F-Droid にはどのアプリを含めることができますか?
アプリを F-Droid に含めることができるのは、使用されているすべてのライブラリと依存関係を含め、完全にオープンソースである場合のみです。包含ポリシーの詳細については、こちら.
をご覧ください。たとえば、アプリで ObjectBox データベースを使用する場合、それを F-Droid に含めることは'できません (ディスカッション)。
ステップ1
- Gitlab 上の fdroiddata リポジトリ をフォークします。
- デバイスにリポジトリのクローンを作成します。
- アプリのバンドル ID を使用してブランチを作成します (例:
co.localmonero.app
)。
ステップ2
fdroid
が正しく動作することを確認します。 fdroid
フォルダーで次のコマンドを実行します:
fdroid 初期化
fdroid リードメタ
ステップ3
プロジェクトを追加します:
fdroid import --url https://github.com/YOUR_REPO --subdir app
メタデータ ディレクトリにファイルが作成されます (例: 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 マーケットのデータを追加しましょう。そのために、フレーバーごとに個別のブランチを作成します:
【X105X】その後、Fastlane 用のフォルダーを作成します。 https://github.com/AgoraDesk-LocalMonero/agoradesk-app-foss/tree/fdroid_ad/fastlane/metadata/android/en-US.
【X917X】必要なデータを追加してプッシュします。【X954X】ステップ6
アプリを F-Droid に追加します。
- アプリ リポジトリにタグを作成します。
- Gitlab 上の F-Droid リポジトリに変更をプッシュします。
- Gitlab リポジトリでマージ リクエストを作成します。タイトルにアプリの ID を使用します。
- F-Droid チームからのレビューを待ちます。
結論
このプロセスは少し複雑で、途中でさまざまな問題が発生する可能性があります。ただし、CI をセットアップすると、次の更新は自動的に処理されます。
ご質問がある場合は、GitHubでお気軽にお問い合わせください。