問題タブ [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.

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

android - Dalvik ファイル形式 (*.dx) は、Java .class ファイルよりも多くの命令をサポートしていますか?

Dalvik VM が (バイトコードに関して) サポートしているもので、.class ファイルにないために現在使用されていないものはありますか?

たとえば、関数型言語 XYZ 用に独自の Source-to-DX コンバーターを作成する場合、.class ファイルは特定の状況下でのみテール コールをサポートしますが、完全なテール コールなどを実装できますか?

0 投票する
71 に答える
488128 参照

android - 外部 JAR で「Dalvik 形式への変換がエラー 1 で失敗しました」

Eclipse の Android アプリケーションで、次のエラーが発生します。

予期しないトップレベルの例外:
java.lang.IllegalArgumentException: すでに追加されています: Lorg/xmlpull/v1/XmlPullParser;
....
エラー 1 で Dalvik 形式への変換に失敗しました

このエラーは、特定の外部 JAR ファイルをプロジェクトに追加した場合にのみ表示されます。可能な解決策を長い間探しましたが、可能な解決策はどれも機能しません。

Android 1.5 (現在使用しているバージョン) ではなく、Android 1.6 に変更しようとさえしました。

0 投票する
14 に答える
68997 参照

java - Android: Dalvik 形式への変換に失敗しました: dex を実行できません: null

Android でSmugFig SmugMug APIを使用しようとしています。J2SE 向けに設計されているので、Android でも動作するかどうかはわかりませんが、独自の API を作成するのではなく、試してみる価値があると考えました。

ただし、プロジェクトをロードすると、次のエラーが発生します。

どのパッケージで失敗するかはわかりませんが、「Android Packaging Problem」だけですが、SmugFig を追加する前はこれを実行せず、ビルド パスに依存関係の JARS がありました。

どこを見ればいいですか?それとも、これらのライブラリでは機能しないというのは主に私ですか?

0 投票する
3 に答える
23465 参照

jvm - JVM がスタックベースで Dalvik VM がレジスタベースなのはなぜですか?

興味深いのですが、なぜ Sun は JVM をスタックベースにし、Google は DalvikVM をレジスタベースにすることにしたのですか?

JVM は、ターゲット プラットフォームで特定の数のレジスタが利用可能であると想定できないと思います。これは、プラットフォームに依存しないことが想定されているためです。そのため、レジスタの割り当てなどをJITコンパイラに延期するだけです。(間違っていたら訂正してください。)

それで、Android の連中は、「それは効率が悪い。すぐにレジスタ ベースの vm に行きましょう...」と考えましたか? しかし、待ってください。複数の異なる Android デバイスがあります。Dalvik がターゲットにしたレジスタの数は? Dalvik オペコードは、特定の数のレジスタに対してハードコードされていますか?

現在市場に出回っているすべての Android デバイスには、ほぼ同じ数のレジスタがありますか? または、dex の読み込み中にレジスタの再割り当てが実行されますか? これらすべてがどのように組み合わされるのでしょうか。

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

android - WITH_OBJECT_HEADERSはDalvikからGCを有効にしましたか?

私が知っているように、DalvikVMはデフォルトとして世代別GCをサポートしていません。

しかし、ファイルWITH_OBJECT_HEADERSからの世代別GCに関連する可能性のあるコンパイルフラグを見つけました。HeapInternal.h

このオプションを有効にしてDalvikをビルドしようとする人はいますか?Dalvikによる世代別GCサポートについて何か知っていますか?

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

java - Android での mockito を使用したコンパイルの高速化

私は現在、以下を使用してEclipseでAndroidアプリを開発しています:

  • アプリの 1 つのプロジェクト
  • テスト用の 1 つのプロジェクト (インストルメンテーションおよび Pojo テスト)

テスト プロジェクトでは、標準の POJO テスト用に mockito ライブラリをインポートしています。ただし、ライブラリをインポートすると、Eclipse でコンパイル時間が 1 秒から約 30 秒に急上昇します。原因は、ライブラリ全体が毎回変換されているためと思われます。基本的に、テストしたい変更を加えるたびに、30秒待たなければなりません。

これまでに見つけた唯一の回避策は次のとおりです。

  • 「自動ビルド」を無効にする
  • pojo テストのみを含むプロジェクトを作成し、そこに mockito のみを配置します。
  • より高速にコンパイルできる別のライブラリを使用する (例: easymock)

他の提案はありますか?

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

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 ...

だから、これが他の方法で可能かどうか、または不可能であると思われるかどうか、誰かが私を啓発できるかどうか疑問に思っています。それが不可能な場合、誰かがこれが不可能な理由を提供できますか?

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

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」されています。

このエラーが発生する理由がわからないので、誰かが解決策を持っていれば...

ありがとう

0 投票する
6 に答える
17080 参照

java - ClassNotFoundException Android

今日、Android プログラムの作業中に問題が発生しました。XML文字列をJavaオブジェクト(サードパーティ)に変換するクラスがあり、通常のJavaプロジェクトとして正常に動作しますが、Androidでは次の奇妙なエラーが発生します:

明らかな理由でアプリケーション名とパッケージを非表示にしていますが、このような問題に遭遇したことがある人がいるかどうか疑問に思っていました。クラスは、私が追加したライブラリである正しいパッケージに含まれています。以前に参照した他のクラスがあり、それらを作成できます。ClassNotFoundExceptionaがスローされる他の理由はありますか?

ありがとう、ジェイク

0 投票する
2 に答える
2204 参照

android - Linux X86 または Mac ビルドの Dalvik JIT コンパイラ

Google IO 2010 セッションで聞いたところによると、Dalvik JIT コンパイラは ARM プロセッサのみをサポートしています。これは、Linux X86 または Mac OS X 上の Android ソースのビルドが JIT コンパイラをサポートできないということですか?

Dalvik JIT コンパイラをテストするには、ARM プロセッサを搭載したターゲット ボードを使用する必要がありますか?

ありがとう!