問題タブ [dalvik]
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.
android - 複数のプロセスを使用するアプリはDalvikインスタンスを共有しますか?
私はAndroidプロセス管理を研究していますが、複数のプロセス(スレッドではない)を使用するアプリがDalvikインスタンスを共有するのか、同じアプリであってもプロセスごとにDalvikインスタンスが存在するのか疑問に思っています。
公式の情報源(ドキュメント、トーク、論文など)を教えていただけますか?
ありがとう
android - dalvikvm での Android 例外
携帯電話でアプリケーションを起動すると、ログから次のエラーが大量に発生します。
何が起こったか ?
android - Alien Dalvik に関するいくつかの質問
開発者の皆様、
Engadget で見られるように、「Alien Dalvik」を開発した会社で、Dalvik を Meego のような他のプラットフォームで実行できるようにするミドルウェアです。 http://www.engadget.com/2011/02/08/myriad-alien-dalvik-runs-android-apps-on-any-phone-starting/
ミドルウェアが他のプラットフォーム (たとえば MeeGo など) に移植された場合、ユーザーはどのチャネルでアプリケーションをダウンロードしますか? アンドロイドマーケット?
android - Androidでネイティブライブラリをどのように実行しますか?
Androidアプリケーションがネイティブライブラリをロードするとき、ライブラリがどのように実行されるかを考えていますか? apk の dex ファイルは dalvik VM によって実行されますが、OPcodes のロジックがライブラリ (dex 形式ではない) のメソッドを呼び出すと、VM は中断され、プロセス (このアプリと VM が実行されている) を待ちます。ライブラリを実行するには?ありがとう
android - DexFile.loadDex がハングする
Android の専門家は、このメソッドがハングする理由を明らかにすることができますか?
スレッドを一時停止してスタックを見ると:
...ネイティブ メソッド DexFile.openDexFile でハングしていることがわかります。
これは、作成中のアプリケーションに重大な問題を引き起こしています。それはランダムに発生するため、いくつかのスレッド間で何らかの競合状態が発生していることを示唆していますが、検出とデッドロックを接続し、さらにネイティブメソッドが何かを返すことを期待しています。例外でもいいでしょう!!
前もって感謝します
私は Android 2.2 Nexus One デバイスを使用しています。Eclipse からデバイスにアプリケーションをデプロイしています。アプリケーションを完全にアンインストールしてデバイスの電源を入れ直しても、上記の問題がランダムに表示されることを確認してください。
更新: Android 2.3.3 エミュレーター (API 10) で再試行しましたが、同じ問題が発生しました。私は今、ここに大きなバグがあると確信しています。問題を示す簡単なテスト ケースを作成しました。基本的に、私は 1 つの dexified jar を Android プロジェクトの assets フォルダーに追加します。起動時に、このファイルをアプリケーション データ領域にコピーします。次に x スレッドを開始し、各スレッド内で DexFile.loadDex を使用してこの dex 化された jar ファイルをロードしますが、生成された最適化された dex ファイルに別の出力ファイル名を付けます。x を 30 スレッドと指定すると、複数のスレッドがハングすることがほぼ保証されます。
念のため、各スレッドに固有の dexified jar ファイルが与えられるテストを繰り返しました。同じ問題が発生します。
私が見る唯一の LogCat 出力は、何が問題なのかのヒントを与える可能性があります。
02-23 11:59:23.097: DEBUG/dalvikvm(12598): DexOpt: 群れで眠っています (/data/dalvik-cache/system@framework@core.jar@classes.dex) 02-23 11:59:23.138: DEBUG/dalvikvm (12602): DexOpt: 群れでスリープ (/data/dalvik-cache/system@framework@core.jar@classes.dex) 02-23 11:59:23.357: DEBUG/dalvikvm (12602): DexOpt:群れで眠っている (/data/dalvik-cache/system@framework@framework.jar@classes.dex) 02-23 11:59:23.419: DEBUG/dalvikvm(12598): DexOpt: 群れで眠っている (/data/dalvik- cache/system@framework@framework.jar@classes.dex) 02-23 11:59:23.528: DEBUG/dalvikvm(12608): DexOpt: 群れで眠っています (/data/dalvik-cache/system@framework@core.jar @classes.dex) 02-23 11:59:23.577: DEBUG/dalvikvm(12598): DexOpt: 群れで眠っています (/data/dalvik-cache/system@framework@services.jar@classes.dex) 02-23 11 :59:23.698: DEBUG/dalvikvm(12606): DexOpt:群れで寝ている (/data/dalvik-cache/system@framework@core.jar@classes.dex)
もう1つの興味深い点は、例として、dex化されたjarファイルがあることです
myjar.jar (サイズ 5031)
この dex ファイルを開く各スレッドは、ファイルを作成します
myjar.jarX.dex (X はスレッドごとに一意の整数) (サイズ 4152)
DexFile.loadDex 呼び出しを完了しないスレッドは、まだ myjar.jarX.dex ファイルを作成できますが、ファイルのサイズは 3496 です。
私は、Dalvik ネイティブ コードの奥深くで何らかの形式の競合状態があると考えています。これは私たちにとって大きなショーストッパーです。続行する最善の方法はありますか?
android - dalvik でのバイトコード インジェクション
Androidプラットフォームでこれを尋ねましたが、返信がありませんでした。私はこのスレッドを参照しましたが、彼が参照していた投稿を見つけることができませんでした ( Dalvik Bytecode を実行中の Dalvik/Android アプリケーションに動的に生成する)
また、この問題が提起されました( http://code.google.com/p/android/issues/detail?id=6322 )
だから、私の質問は、
- この点で進展はありましたか?
- ロードされているクラスに新しいバイトコードを挿入することは可能ですか?
- もしそうなら、同じへのポインタはありますか?
乾杯。アーランス
python - Pythonまたは他の言語でDexファイルを生成する
python、perlなどの言語を使用して実行時にdalvikバイトコードを生成することは可能ですか?
ありがとう
java - Android携帯からBlogspotブログからHTMLデータを抽出する
私は周りを見回しましたが、役立つものは何も見つかりません。これが私がやりたいことです:
- から最初の投稿を抽出する
- Blogspotブログ画面に表示する
HTMLページの特定のタグとIDからデータをプルするものが必要です。また、一部のライブラリでは変換に失敗し、アプリケーションが機能しないと表示されるため、Dalvik形式と互換性がある必要があります。それも簡単だったらいいのにと思います。
助言がありますか?
android - Androidの権限はどのように適用されますか?
socket()
JNI Cメソッドで関数を呼び出すと、アプリケーションは引き続きパーミッションエラーで失敗します。そして、AndroidManifest.xmlにuses-permission行を入れると、問題は修正されます。
したがって、ネイティブC関数を呼び出しているのに、Androidのアクセス許可チェックがDalvik仮想マシンに実装されていないようですが、それでもチェックされます。ptrace
Androidカーネルでチェックが実行される場所、またはすべてのシステムコールをインターセプトするような方法でアプリケーションがトレースされる方法、またはその他の方法を知りたいです。どうもありがとう。
android - 基本的な android/dalvik フレームワークを備えた小さな (< 15 メガバイト) ファイルシステム
Java (android dalvik) で記述されたプログラムを実行できる非常に小さなパーティション (ルート ファイルシステム) を作成しようとしています。これらのアプリケーションは、電話、マルチメディア、ブラウザーなどの高度な機能を使用しません。UI を使用しない一部のサービスのみを実行し、インテント、サービス、アクティビティ、バインダーなどの「基本的な」Android を使用します。これはインテント/サービスなどの基本的なAndroid機能を提供しないため、小さなLinuxディストリビューションのJVMには興味がありません。このファイルシステムにシステムアプリケーションとしてアプリケーションをプリインストールするつもりです。したがって、後でインストールする必要はありません。
そのような「ルートファイルシステム」を作成するために、Androidプラットフォームのビルドファイルにコンパイルスイッチがありますか? それとも、これは最小限の労力 (数日未満の作業) で実行できますか?