FAQ - クライアント

クライアントは新しいバージョンを表示していますが、更新を通知しなかったのはなぜですか?

更新通知を設定画面で有効にしている場合、それはおそらく新しいバージョンがあなたの端末で推奨されていないためです。

クライアント内のバージョンの一覧で、推奨されるバージョンには「*」の記号が付けられます。このバージョンは、現在のバージョン、つまり、アプリケーションの開発者がGoogle Playや自らのウェブサイトで公開しているバージョンに最も近いものです。ただし、リスト内にあるバージョンよりも新しいバージョン、例えば、テスト用やベータ版がある可能性があります。それらをインストールすることもできますが、バージョンコード(Androidのバージョン番号の付け方)が CurrentVersionCode よりも大きいため、アップデートの通知は表示されません。

サードパーティーのリポジトリの場合は、管理者がリポジトリのメタデータで現在のバージョンを更新しそびれた可能性もあります。

F-Droidがこれらの権限を必要とするのはなぜですか?

F-Droidはアプリストアです。つまり、アプリの検索、ダウンロード、インストールについて、すでに全面的な責任を負っているということです。言い換えれば、実質的にはすでにすべての権限を持っています。たとえば、権限を持たない悪意のあるアプリストアでも、アプリのインストール時にすべてのアプリを改変し、その改変されたアプリを通じて自分自身にすべての権限を付与することができます。だからこそ、アプリストアが自由ソフトウェアであり、公開された形で監査されていることが非常に重要です。F-Droidはその両方を満たしています。とはいえ、F-Droidは自分が何をしているのかについて誠実かつ透明であるために、実際に使用する権限を宣言しています。

F-Droidが現在必要とする権限は以下の通りです。

f-droid.org その他のリポジトリからアプリをダウンロード:
android.permission.INTERNET
更新を受信できるよう起動時に自動的に開始:
android.permission.RECEIVE_BOOT_COMPLETED
nearbyサービスで現在のWi-Fi状態を取得し、スワップ時にWi-Fiを有効にするようユーザーに促すため:
android.permission.ACCESS_COARSE_LOCATION
android.permission.ACCESS_NETWORK_STATE
android.permission.CHANGE_NETWORK_STATE
android.permission.CHANGE_WIFI_MULTICAST_STATE
android.permission.CHANGE_WIFI_STATE
android.permission.ACCESS_WIFI_STATE
nearbyサービスでBluetoothの状態を確認し、スワップ時にBluetoothを有効にするようユーザーに促すため:
android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.BLUETOOTH_CONNECT
Repo Details画面でリポジトリ情報を交換し、必要に応じてnearbyスワップ接続を支援するため:
android.permission.NFC
nearbyサービスからユーザーがWi-Fi AP Hotspotモードを有効にできるようにするため:
android.permission.WRITE_SETTINGS
ユーザーがnearbyサービスを実行したままにしている間、サービスを実行し続けられるようにするため:
android.permission.WAKE_LOCK
外部ストレージ上にある互換性のあるリポジトリやミラーを検索して使用するため:
android.permission.READ_EXTERNAL_STORAGE
android.permission.MANAGE_EXTERNAL_STORAGE
USBメモリが挿入されたことを検出し、互換性のあるリポジトリやミラーを探すためにスキャンできるようにするため:
android.permission.USB_PERMISSION
ダウンロードしたファイルを外部ストレージに一時的に保存し、使用するため:
android.permission.WRITE_EXTERNAL_STORAGE

F-Droid Privileged Extensionもここに関係しますが、Androidの権限宣言システムの範囲外にあります。Privileged Extensionはpriv-app権限付きでインストールされ、これによりF-DroidはAndroidに対するシステムレベルのアクセス権限を得ます。Privileged Extensionを使用すると、アプリの自動更新が可能になるほか、ユーザーが「提供元不明のアプリ」の設定をオフのままにできるため、セキュリティが向上します。Privileged Extensionは「最小権限」の原則に基づいて設計されており、昇格された権限は本当に必要な場所にのみ付与され、その権限も可能な限り制限されます。外部のレビュー担当者がそれを確認できるようにするため、Privileged Extensionはできるだけ単純かつ小さく作られています。

上級者モードとは何ですか?

「上級者モード」を有効にすると、設定画面で追加の情報を表示することができます。ここにはパッケージのIDや署名のハッシュ値など、ほとんどのユーザーにはあまり役立たない情報のほか、追加の設定項目も表示されます。

アプリはダウンロードできますが、「インストール」は無効になっています。なぜでしょうか?

一部のユーザーは、表示中のアプリに関係なく画面に直接描画するTwilightのようなアプリをインストールしています。セキュリティ上の理由から、Androidはそのようなアプリが実行中の場合、賢明にもアプリのインストールを許可しません。もし許可してしまうと、本物の「インストール」ボタンの上に偽の「インストール」ボタンを描画するアプリを作成できてしまい、ユーザーが望まないアプリをインストールしてしまう可能性があります。解決策は、F-Droid経由でインストールする前に、そのようなアプリを無効にすることです。

詳細についてはIssue 151またはこのGoogle+のコメントをご覧ください。

クライアントが各アプリのインストール、ダウンロード数を表示しないのはなぜですか?

アプリをインストールしているユーザー数を表示するには、ユーザーに対するスパイ行為を行うこと、つまり、ユーザーが端末でどのアプリをインストール、アンインストールしているかを追跡し、それを私たち自身に送信することが必要となります。私たちはそれを行っていませんし、今後それを行うつもりもありません。

理論上、ダウンロード数は我々のウェブサーバーのログで確認できますが、それは無意味な数字となります。理由は以下のとおりです:

  1. アプリをダウンロードしたがインストールしない場合があるため
  2. アプリをダウンロードしてインストールしたが、使ってみたところ別に気に入らないものだったのですぐにアンインストールする場合があるため
  3. アプリを大量にダウンロードすることで、人気があるように見せかけようとする場合がありうるため

また、技術上の水準で、私たちはその情報を記録してもいません。バックエンドのサーバーは各APKのヒット数を記録していますが、それらはキャッシュを行う複数のフロントエンドのサーバーから提供されています。これはつまり、1件のヒット数が1回のダウンロード数であるばあいもあれば、百万のダウンロード数でもありうるということです。理論上これを解決する手段はありますが、そうするつもりはありません。

それに、この情報が正しいとして、それが何でしょう。他の多くの人たちが使っているからあなたもそれを使い、使っている人がまだ少ないからアプリを使わないんでしょうか。あなたにとって役立つものを決める際に、それが意味ある判断基準だと果たして言えるでしょうか。まずはとにかく、アプリを一度試してみるのはどうでしょう。

NFCまたはAndroid BeamでF-Droidのアプリを送信または設定するにはどうすればいいですか?

Android 10で非推奨となり、Android 14 SDKから必要なコードが削除されたため、F-Droidのクライアントはバージョン1.20からこの機能をサポートしていません。詳細についてはこちらをご覧ください。

アプリをBluetoothまたはWiFiで送信するにはどうすればいいですか?

これはF-Droidの「付近」のタブ(以前は「交換」と呼ばれていました)を使って行えます。使い方についてはこちらをご覧ください。

F-Droidが使用しているセキュリティーモデルは何ですか?

F-Droidのセキュリティモデルは、HTTPS接続と署名付きメタデータから始まりました。その後、DebianThe Update Frameworkなどから着想を得て進化してきました。詳細はこちらで確認できます:Security Model