AtCoderの精進をスマホでも。
リリース | コードベース | その他 |
---|---|---|
Important
v1.1.0
でパッケージ名が変更されました。
v1.0.0
以前のリリースが既にインストールされている場合は別のアプリとしてインストールされます。
設定等は引き継がれないのでお気をつけて。
(早く設定のエクスポート機能を実装しろ)
- 問題を探す: NoviSteps、Problemsなどの精進に役立つサイトを統合ブラウザで閲覧
- カスタムサイト追加: お気に入りの問題集サイトを追加して、ワンタップでアクセス
- 問題へのスムーズな遷移: AtCoder問題ページから直接エディタ画面に移動
- シンタックスハイライト: Python、C++、Rust、Javaに対応した見やすいコードハイライト
- テンプレート機能: 言語別のコードテンプレートをカスタマイズ可能
- 自動保存: 問題ごと・言語ごとにコードを自動保存
- リアルタイム実行: Wandbox APIを使用してコードをその場で実行・テスト
- サンプルケース自動テスト: AtCoderのサンプル入出力でコードを自動テスト
- 詳細な結果表示: AC/WA/RE/TLE/CEなど、詳細なジャッジ結果を表示
- デバッグ支援: 入力・期待される出力・実際の出力を比較表示
- 問題詳細表示: 問題文、制約、入出力形式を見やすく整理
- URL自動解析: AtCoder問題URLから問題情報を自動取得
- LaTeX記法対応: 数式表示を含む問題文の適切な表示
- テーマ選択: ライト/ダーク/ピュアブラック/システム追従の4つのテーマ
- Material You対応: 壁紙に連動したカラーテーマ
- 透明度調整: ナビゲーションバーの透明度をカスタマイズ可能
- WebView提出: AtCoderの提出ページをアプリ内で開いて提出
https://github.com/orgs/Shojin-App/projects/1
ビルド済みのバイナリ(APKなど)はGitHubリリースページからダウンロードできます。これが手っ取り早いです。
このアプリは F-Droid Inclusion Policy に準拠したビルドが可能です。F-Droid フレーバー (fdroid
) では以下が強制されます:
機能 | 通常ビルド | F-Droid ビルド |
---|---|---|
自己アップデート (アプリ内ダウンロード & APKインストール) | 有効 (ユーザー設定可) | 完全無効 (コードパス停止) |
起動時自動アプデチェック | 表示 | 非表示 |
オンラインフォント (Google Fonts) | 利用可 | 無効 (同梱/システムフォント) |
外部APKダウンロード | 有効 | 無効 |
自己アップデート関連クラス (AutoUpdateManager
, UpdateManager
) は F-Droid ビルドでは早期 return するノーオペ実装になり、不用意に APK を取得・実行しません。
# 推奨: スクリプトで再現性確保
./build_fdroid.sh
# 手動:
flutter build apk \
--dart-define=FDROID_BUILD=true \
--dart-define=ENABLE_SELF_UPDATE=false \
--dart-define=ENABLE_ONLINE_FONTS=false \
--flavor=fdroid \
--release
-
git tag vX.Y.Z
がpubspec.yaml
のversion
と一致 - 起動後「設定 > 更新設定」セクションに自己更新 UI が表示されない
- ネットワークトラフィックが AtCoder / コード実行 API / 静的リソース以外へ行かない
-
flutter analyze
とflutter test
が成功 -
FONT_LICENSES.md
/ LICENSE 表示画面から辿れる
注記: F-Droid ビルドではオンラインから Google Fonts を取得せず、同梱フォント / システムフォントのみを使用します (ネットワークフォントアクセス無効化)。
自身でアプリをビルドしたい場合や、開発に貢献したい場合は、ソースからビルドできます:
- Flutter開発環境のセットアップ: まず、Flutter開発環境がセットアップされていることを確認してください。まだの場合は、Flutter公式インストールガイドに従ってください。
- リポジトリをクローン:
git clone https://github.com/Shojin-App/shojin_app.git
- プロジェクトディレクトリに移動:
cd shojin_app
- 依存関係を取得:
flutter pub get
- アプリをビルドして実行:
- デバッグモードで実行:
flutter run
- リリースAPKをビルド (Android):
flutter build apk --release
- その他のプラットフォームやビルドオプションについては、Flutter公式ビルドドキュメントを参照してください。
- デバッグモードで実行:
このプロジェクトへの貢献を歓迎します!バグ報告、機能提案、プルリクエストなど、どのような形でも結構です。
- バグ報告や機能要望は、GitHubのIssuesページを利用して報告してください。
- リポジトリをフォーク: ご自身のGitHubアカウントにこのリポジトリをフォークします。
- ブランチを作成:
変更内容に応じたブランチを作成します。
# 機能追加の場合 git checkout -b feature/your-feature-name # バグ修正の場合 git checkout -b bugfix/issue-number
- 変更とコミット: コードの変更を行い、分かりやすいコミットメッセージと共にコミットします。
- プルリクエストを作成:
変更が完了したら、フォークしたリポジトリから本リポジトリの
dev
ブランチに対してプルリクエストを作成します。 プルリクエストには、以下の情報を含めてください:- 変更内容の概要
- 変更の理由や目的
- 関連するIssue番号(もしあれば)
- 可能な限り、既存のコードスタイルや規約に従ってください。
- コードを追加・修正した場合は、
flutter analyze
を実行して、静的解析エラーや警告がないことを確認してください。 - 関連するテストコードが存在する場合は更新し、新しい機能にはテストコードを追加することを推奨します。
ご協力ありがとうございます!
このリポジトリは release-please を使ってバージョン管理と CHANGELOG 生成を自動化しています。
main
ブランチにマージされた Conventional Commits 形式のコミットを解析- 差分に基づき自動でリリース PR (例:
chore: release 1.1.0
) を作成 - その PR をマージすると:
pubspec.yaml
の version が更新CHANGELOG.md
に該当エントリが追加- Git タグ & GitHub Release (Release Notes) が作成
feat(editor): コード補完ショートカット追加
fix(parser): サンプル入出力の末尾改行処理
perf(syntax): ハイライト初期化高速化
refactor(ui): テーマ切替ロジック整理
docs(readme): 使い方セクション更新
pubspec.yaml
のversion:
は release-please の PR にのみ変更を任せる- 直接
CHANGELOG.md
の既存セクションを書き換えない (追加は OK) - 大きな破壊的変更はコミット種別では
feat!:
としてメジャーアップグレードを誘発
- 通常通り PR を
main
へマージ (コミットメッセージ規約遵守) - Bot が作るリリース PR をレビュー
- マージ = リリース確定
CHANGELOG.md
と GitHub Release Notes は同期されるため、F-Droid メタデータ更新時にも参照しやすくなります。
このプロジェクトはGNU General Public License v3.0(GPLv3)のもとで公開されています。詳細はリポジトリ内のLICENSEをご覧ください。
https://github.com/inotia00/revanced-manager
本プロジェクトおよびその内容は、AtCoder株式会社及びその関連会社とは一切関係がなく、資金提供、承認、支持、またはその他いかなる形での関連もありません。 本プロジェクトで使用されている商標、サービスマーク、商号、またはその他の知的財産権は、それぞれの所有者に帰属します。
GitHub ロゴ, YouTube ロゴ, X(Twitter) ロゴ は各社の登録商標/商標です。これらのロゴはリンク誘導/識別目的のみで使用されており、本アプリによる公式な提携・後援・保証を意味しません。
- GitHub® および GitHub ロゴ は GitHub, Inc. の米国およびその他の国における登録商標または商標です。
- YouTube™ および YouTube ロゴ は Google LLC の商標です。
- X™(旧 Twitter)および X ロゴ は X Corp. の商標です。
- 記載されている会社名・製品名・サービス名等は、各社の商標または登録商標であり、本文中では TM, ® を明示しない場合があります。
- 本アプリ内での各ロゴ・名称の使用は識別・説明のみを目的としており、いかなる公式な提携・承認・後援関係も示唆しません。