問題タブ [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 ファイル形式 (*.dx) は、Java .class ファイルよりも多くの命令をサポートしていますか?
Dalvik VM が (バイトコードに関して) サポートしているもので、.class ファイルにないために現在使用されていないものはありますか?
たとえば、関数型言語 XYZ 用に独自の Source-to-DX コンバーターを作成する場合、.class ファイルは特定の状況下でのみテール コールをサポートしますが、完全なテール コールなどを実装できますか?
android - 外部 JAR で「Dalvik 形式への変換がエラー 1 で失敗しました」
Eclipse の Android アプリケーションで、次のエラーが発生します。
予期しないトップレベルの例外:
java.lang.IllegalArgumentException: すでに追加されています: Lorg/xmlpull/v1/XmlPullParser;
....
エラー 1 で Dalvik 形式への変換に失敗しました
このエラーは、特定の外部 JAR ファイルをプロジェクトに追加した場合にのみ表示されます。可能な解決策を長い間探しましたが、可能な解決策はどれも機能しません。
Android 1.5 (現在使用しているバージョン) ではなく、Android 1.6 に変更しようとさえしました。
java - Android: Dalvik 形式への変換に失敗しました: dex を実行できません: null
Android でSmugFig SmugMug APIを使用しようとしています。J2SE 向けに設計されているので、Android でも動作するかどうかはわかりませんが、独自の API を作成するのではなく、試してみる価値があると考えました。
ただし、プロジェクトをロードすると、次のエラーが発生します。
どのパッケージで失敗するかはわかりませんが、「Android Packaging Problem」だけですが、SmugFig を追加する前はこれを実行せず、ビルド パスに依存関係の JARS がありました。
どこを見ればいいですか?それとも、これらのライブラリでは機能しないというのは主に私ですか?
jvm - JVM がスタックベースで Dalvik VM がレジスタベースなのはなぜですか?
興味深いのですが、なぜ Sun は JVM をスタックベースにし、Google は DalvikVM をレジスタベースにすることにしたのですか?
JVM は、ターゲット プラットフォームで特定の数のレジスタが利用可能であると想定できないと思います。これは、プラットフォームに依存しないことが想定されているためです。そのため、レジスタの割り当てなどをJITコンパイラに延期するだけです。(間違っていたら訂正してください。)
それで、Android の連中は、「それは効率が悪い。すぐにレジスタ ベースの vm に行きましょう...」と考えましたか? しかし、待ってください。複数の異なる Android デバイスがあります。Dalvik がターゲットにしたレジスタの数は? Dalvik オペコードは、特定の数のレジスタに対してハードコードされていますか?
現在市場に出回っているすべての Android デバイスには、ほぼ同じ数のレジスタがありますか? または、dex の読み込み中にレジスタの再割り当てが実行されますか? これらすべてがどのように組み合わされるのでしょうか。
android - WITH_OBJECT_HEADERSはDalvikからGCを有効にしましたか?
私が知っているように、DalvikVMはデフォルトとして世代別GCをサポートしていません。
しかし、ファイルWITH_OBJECT_HEADERS
からの世代別GCに関連する可能性のあるコンパイルフラグを見つけました。HeapInternal.h
このオプションを有効にしてDalvikをビルドしようとする人はいますか?Dalvikによる世代別GCサポートについて何か知っていますか?
java - Android での mockito を使用したコンパイルの高速化
私は現在、以下を使用してEclipseでAndroidアプリを開発しています:
- アプリの 1 つのプロジェクト
- テスト用の 1 つのプロジェクト (インストルメンテーションおよび Pojo テスト)
テスト プロジェクトでは、標準の POJO テスト用に mockito ライブラリをインポートしています。ただし、ライブラリをインポートすると、Eclipse でコンパイル時間が 1 秒から約 30 秒に急上昇します。原因は、ライブラリ全体が毎回変換されているためと思われます。基本的に、テストしたい変更を加えるたびに、30秒待たなければなりません。
これまでに見つけた唯一の回避策は次のとおりです。
- 「自動ビルド」を無効にする
- pojo テストのみを含むプロジェクトを作成し、そこに mockito のみを配置します。
- より高速にコンパイルできる別のライブラリを使用する (例: easymock)
他の提案はありますか?
java - Android/dalvikでJavaクラスを動的にロードする方法は?
dalvikでdexまたはクラスファイルを動的にロードできるかどうか、またどのようにロードできるか疑問に思っています。私が書いたクイックアンドダーティテスト関数は次のとおりです。
一方、Fooインターフェースはこれです
f.dex には、そのインターフェースの dx 化された実装が含まれています。
上記のテスト ドライバーは defineClass() をスローしますが、機能しません。dalvik コードを調査したところ、次のことがわかりました。
http://www.google.com/codesearch/p?hl=en#atE6BTe41-M/vm/Jni.c&q=Jni.c ...
だから、これが他の方法で可能かどうか、または不可能であると思われるかどうか、誰かが私を啓発できるかどうか疑問に思っています。それが不可能な場合、誰かがこれが不可能な理由を提供できますか?
android - Android で「dexed」JAR をロードする際のエラーを解決する
定期的に写真を撮ることができる Android 用の Felix のバンドルを作成しようとしています。すべてのコードは適切にコンパイルされ、Felix で解決できますが、開始しようとすると例外 (java.lang.VerifyError) が発生し、logcat に次のトレースが記録されます。
CameraHandler クラスは Camera オブジェクトを開き、PictureCallback と AutoFocusCallback を実装します。
.jar ファイルは、単純な「dx --dex --output=classes.dex ... && aapt add ... classes.dex」によって「dexed」されています。
このエラーが発生する理由がわからないので、誰かが解決策を持っていれば...
ありがとう
java - ClassNotFoundException Android
今日、Android プログラムの作業中に問題が発生しました。XML文字列をJavaオブジェクト(サードパーティ)に変換するクラスがあり、通常のJavaプロジェクトとして正常に動作しますが、Androidでは次の奇妙なエラーが発生します:
明らかな理由でアプリケーション名とパッケージを非表示にしていますが、このような問題に遭遇したことがある人がいるかどうか疑問に思っていました。クラスは、私が追加したライブラリである正しいパッケージに含まれています。以前に参照した他のクラスがあり、それらを作成できます。ClassNotFoundException
aがスローされる他の理由はありますか?
ありがとう、ジェイク
android - Linux X86 または Mac ビルドの Dalvik JIT コンパイラ
Google IO 2010 セッションで聞いたところによると、Dalvik JIT コンパイラは ARM プロセッサのみをサポートしています。これは、Linux X86 または Mac OS X 上の Android ソースのビルドが JIT コンパイラをサポートできないということですか?
Dalvik JIT コンパイラをテストするには、ARM プロセッサを搭載したターゲット ボードを使用する必要がありますか?
ありがとう!