問題タブ [android-kernel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
718 参照

android - Android ホットスポットに接続された各デバイスのデータ使用量を監視する

仲間の職人..... Android モバイル ホットスポットに接続されている各デバイスのデータ使用量を監視できるアプリケーションを作成しようとしています。私が見たものから、TrafficStats クラスは UID (アプリケーション) ごとの使用量しか返すことができませんが、接続されている Wi-Fi デバイスごとの使用量を確認したいと考えています。誰かがこれをまだ理解しているか、私が試すことができるアイデアを持っていますか? おそらく、カーネルと直接話す必要がありますか?

0 投票する
1 に答える
35 参照

android - 実行可能ファイルの属性 C を取得する方法

Android環境で実行される短いCプログラムを書いています。同じ実行可能ファイルへのポインターを持つ、参照できるオブジェクトがあるかどうかを知りたいです。Javaの「this」ポインターのようなものだと思います。私の目標は、実行可能ファイル自体に関する情報を取得することです。理想的には、実行可能ファイルの開始アドレスとオフセットをメモリ内に保持したいと考えています。ネイティブ C コードと、後で開発する可能性のある apk の答えを知りたいです。私が使用する必要がある機能を知っている場合は、お知らせください。ビルドとターゲット環境を完全に制御できます。つまり、ターゲットでルート アクセスを取得できます。また、アプリをイメージに配置して電話でフラッシュするのではなく、IDE 経由で /data パーティションにプッシュすることもできます。

Cでは、現在のポインターを使用できますか?

0 投票する
0 に答える
1260 参照

android - Android Linux カーネルの仮想メモリ レイアウト

メモリ不足の問題の原因を突き止めようとしています。私はカーネルを持っています。ビルドしようとしています(情報: Freescale SabreSD から Solidrun Hummingboard、バージョン 3.10、Android ディストリビューションまで)。私のシステムには512MBの物理メモリがあります。

私のカーネルは、この仮想メモリ レイアウトで起動します。

動作中の3.0.35 カーネルは、次の仮想メモリ レイアウトで起動します。

私の理解では、vmalloc 領域が大きすぎて、lowmem が物理的に使用可能なメモリと一致します。それは私の仮定ですよね?どのような構成を見ればよいですか?

このメモリマップを変更するために、カーネルまたはブートローダーにどのような構成変更を行う必要があるかを理解しようとしています (そして、私が推測しているように、それが本当に間違っている場合)。カーネルは、コマンド ラインの vmalloc パラメータを無視します(現在は 400M のデフォルトです。おそらく、少なくともこのサイズに設定されているためです)。メモリ レイアウトは KConfig のどこかに設定されていますか、それとも Uboot で初期化されていますか? 適切な場所を見つけるのを手伝ってもらえますか?

編集

CONFIG_VMSPLIT_2G を CONFIG_VMSPLIT_3G に変更すると、次のメモリ マップが表示されます。

しかし、Init にはまだ「メモリ不足」の例外があります。

ブート ログの詳細は次のとおりです。

メモリが不足している理由について何か考えはありますか?

0 投票する
1 に答える
462 参照

android - 300 MHZ ~ 400 MHZ の範囲で送信

最新の Android フォン (Galaxy S5+) に 300 ~ 400 MHZ の範囲で送信できるハードウェアはありますか?

もしそうなら、これには無線 ROM をクラックする必要がありますか、それともこれを行う簡単な方法はありますか?

0 投票する
0 に答える
1293 参照

c - netlinkソケットを介してnetfilterフックメッセージをユーザー空間モジュールに送信するが成功するがループする

私は Android カーネル空間プログラミングの初心者です。私のモジュールでは、カーネルとユーザー空間モジュールが netlink ソケット経由で正常に通信しており、netfilter フックも機能しています。しかし、netlink ソケットを介して netfilter メッセージをユーザー空間モジュールに送信すると、大きなバグが発生します。Netlink はソケット経由でメッセージを送信しますが、netfilter は再び送信をフックするため、ループが発生し、決して終了しません! 問題を解決するにはどうすればよいですか、または netlink ソケットを無視して他のネットワーク ソケットをフックする方法はありますか? カーネルのバージョンは android-goldfish 3.4 です。

カーネルモジュール:

ユーザー空間プログラム:

0 投票する
1 に答える
816 参照

android - ソースから Android で変更された Goldfish カーネルを実行する

金魚カーネルに構成変更の一部をロードして、Android ソースからエミュレーターを実行しようとしています。これについて多くの質問を見つけましたが、答えが見つかりませんでした。1. Android ソースをダウンロードしました。2. 金魚カーネルのビルドにも成功しました。これで、/goldfish/arch/arm/boot フォルダーに zImage が表示されます。この後、似たような質問をたくさん参考にして、このエミュレータを動かしてみました。 ソース エミュレーターと AVDから Android をビルドする方法、ソースから Android をビルドした後にエミュレーターを実行する方法、Android goldfish 3.4 カーネルをコンパイルしてエミュレーターで実行する方法。しかし、残念ながら私の問題は解決しませんでした。エミュレーターを実行しようとすると:

AVD が見つからないというエラーが表示されます。次に、このブログhttps://yaapb.wordpress.com/2012/09/22/build-a-custom-android-emulator-image/を見つけました。ここでは、最初に次のコマンドでソースツリーからエミュレーターを作成するように指示されています:

次に、変更したカーネルでエミュレーターを実行するには、次を実行する必要があります。

私はこれをやろうとしていますが、make コマンドでエミュレーターを作成するプロセスには何時間もかかります。今まで90分で7%。それまでの間、自分のカーネルでエミュレーターを実行するには、最初にソースからエミュレーターを作成する必要があるかどうかを誰かに教えてもらえないか知りたいと思っていました。また、Android ソース ツリーに system.img、ramdisk.img ファイルが見つかりません。それは正常ですか、それともエミュレータを作成するときにそれらを取得しますか?

**

編集

** また、make -j4 なしでエミュレーターを実行できるかどうかも知りたいです。Android ソース ツリーには SDK も含まれています。SDK からエミュレーターを実行できますか? はいの場合、どのように?Google の公式ドキュメントでは、sdk の /tools フォルダーから次のコマンドを実行するように指示されています。ただし、sdk フォルダーに tools フォルダーはありません。

0 投票する
1 に答える
392 参照

linux-kernel - android-kernel の msgrcv について?

AndroidカーネルでIPC関連の機能をテストするためのテストスイートを実行していました。msgrcv システム コールのテスト中に、実装されていないエラー関数が返されました。

android-kernel に実装されていない msgrcv() システム コールは本当ですか。

System V IPC (メッセージ キューを含む) が Bionic に実装されていないという関連ステートメントを取得しました。しかし、それが何を意味するのかわかりません。

更新: Android カーネルで msgrcv の定義を見つけることができますが、実装されていないエラー関数が返される理由がわかりません。

以下のコード スニペット:

情報が不完全または曖昧な場合はコメントしてください。助けていただければ幸いです。

0 投票する
0 に答える
172 参照

android - 分離されたモバイル ネットワーク インターフェイスのデータ使用量をバイト単位で取得 (2G -3G - 4G)

分離されたモバイル ネットワーク インターフェイス (2G - 3G - 4G) のデータ トラフィックをバイト単位で取得する方法はありますか。

TrafficStatsすべてのモバイル ネットワーク インターフェースの合計使用量を、各ネットワーク インターフェース (3G - 2G - 4G) で使用されるトラフィックを分離せずに表示します

ネットワーク全体を検索しましたが、関連するものは見つかりませんでした。