問題タブ [dx]

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 投票する
2 に答える
7768 参照

android - Androidのdxの使用法

作成時にEclipseで「Islibrary」とマークしたため、Androidアプリケーションから作成されたjarファイルがあります。現在、DexClassLoaderは、classes.dexとマークされたエントリがないため、このファイルをロードできません。これは標準の瓶のように見えます。このようなjarを、DexClassLoaderがロードできるdxを使用してdexed jarに変換するにはどうすればよいですか?助けていただければ幸いです。

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

android - コンパイル時にAndroidDexファイルからAWT参照を取り除く

私のAndroidアプリで、私のbytecode makes illegal references to java.awt、場合によっては。という警告が表示されruntime seems to replace invalid opcodesます。

DX生成されたdexファイルにこれらの参照が含まれないように、これらの参照を以前に(コンパイル時などに)クリーンアップまたは置換するようにツールに指示するためにできることはありますか?

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

android - 外部ライブラリの Dx 処理には時間がかかります

私の Android アプリケーションは、かなり多くの重要な外部ライブラリを使用しています。これらのライブラリはすべて Java で記述されており、ビルド パスに追加するだけです。

Eclipse 内からアプリケーションを起動すると、非常に長い時間がかかり、約 5 分かかります。これは非常にイライラします!

詳細な Android ビルド出力を有効にしました。*.classこれは、ビルド プロセスが外部ライブラリ内のファイル全体を反復していることを示しています。私は何百ものこれらの行を取得します:

(これはほんの小さなサンプルです。繰り返しますが、それぞれ何百ものサンプルを取得しています*.class)

ここで Dx ツールが何をしているのかはよくわかりませんが、間違いなく面倒です!

さらに悪いことに、このプロセスは起動ごとに繰り返され、キャッシュも何もありません...

考えられるアイデア:

  • これのキャッシュはどこかにありますか?どこ?たぶんそれは読み取り専用で、持続しないのでしょうか?
  • 開発ビルドの「DX 処理」ステップを完全に無効にすることはできますか?

可能な解決策または少なくともアイデアはありますか? これは本当に私を夢中にさせています;-)

ありがとう!

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

android - ライブラリプロジェクトDxUNEXPECTEDTOP-LEVELEXCEPTIONまたはActivityNotFoundException

ライブラリプロジェクトとそれを使用する通常のAndroidプロジェクトがあります。

図書館プロジェクト:

srcフォルダーパッケージcom.myproject

AndroidManifest.xml

スタンドアロンプ​​ロジェクト(Androidプロジェクトであり、ライブラリプロジェクトを使用します):

srcフォルダーパッケージcom.myproject

AndroidManifest.xml

私が達成したいこと:

AndroidプロジェクトのChildActivityは、ライブラリプロジェクトのChildActivityをオーバーライドする必要があります。

コンパイルが失敗します:

スタンドアロンプ​​ロジェクトのsrcフォルダーをcom.myproject.standaloneに変更し、マニフェストエントリをに変更した場合

例外が発生しました:

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

android - ビルドパスにjarを追加した後のNoClassDefFoundError

私はEclipseでAndroidプロジェクトに取り組んでいます。libというフォルダーに追加したサードパーティのjarを使用しており、すべてのJarをビルドパスに追加しました。私が使用している約44個の瓶があります。アプリケーションを実行すると、NoClassDefFoundErrorが発生します。これをbuidパスに追加した後でも、なぜこの問題が発生するのでしょうか。私は本当に混乱しています、そして私はいくつかの助けを大いに感謝します!

編集通常のJavaプロジェクト内で同じクラスファイルを使用しようとしましたが、エラーは発生しませんでしたが、Androidでは機能しないようです。dxツールを使用する必要がありますか?

編集フォルダの名前をlibsに変更しましたが、ここでアプリを実行しようとすると、コンソールに表示されるエラーが発生します。

ありがとう

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

android - rubotoを使用した「rake」コマンドは中止を返し、許可は拒否されました

私は最近、rubotoを使ってAndroidアプリの開発に挑戦することにしました。必要なすべての開発ツールとjruby、javac、ant、およびrubotoを含むAndroidSDKをインストールしました。ただし、「rake」(ruby make)コマンドを呼び出すと、次のエラーが発生します。

など...問題は私のandroidプラットフォーム内のdxファイルに起因しているようです-ツール...誰かが同様の問題を抱えているかどうか、そして「rake」を実行するための解決策を見つけるにはどうすればよいか疑問に思いました.apkファイルを生成します。

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

java - Android javac と dx - 処理のトラブル、クラス名とパスが一致しない

SpartacusRex の Terminal IDE と別のアプリ DroidEdit を使用して、Android で Java アプリケーションをビルドして実行しています。シンプルな 1 ファイルの Hello World は問題なくビルドおよび実行されますが、パッケージを導入すると、クラス ファイルを jar ファイルに適切に dex できません。

私のプロジェクトディレクトリから:
javac src/mypack/*. j​​ava これは正常に
コンパイルされます
dx --dex --output=Test.jar src
これにより、次の警告が表示されます

処理のトラブル:
クラス名 (mypack/Main) がパス (Main.class) と一致しません
... Main.class の解析中
... Main.class の処理中

すべてのパスとパッケージ名が正しい。Main.java は「mypack」というフォルダーにあり、「package mypack;」というパッケージ ステートメントがあります。
私は何を間違っていますか?また、 --no-strict を使用すると、警告は削除されますが、出力された jar ファイルは正しくビルドされず、実行できません。

どんな助けでも大歓迎です。ありがとう :)

0 投票する
8 に答える
24248 参照

android - Android: アプリケーションが大きすぎて、"Unable to execute dex: method ID not in [0, 0xffff]: 65536" というメッセージが表示されますか?

アプリケーションを Box、Dropbox、および Google Drive と統合しようとしています。これらの 3 つのサービスはすべて、多数のサードパーティ jar を必要とします。さらに、私のアプリケーションにはすでにいくつかのサードパーティの jar が必要です。Eclipse からアプリケーションを実行しようとすると、次のエラーが発生します。

dex を実行できません: メソッド ID が [0, 0xffff] にありません: 65536 Dalvik 形式への変換に失敗しました: dex を実行できません: メソッド ID が [0, 0xffff] にありません: 65536

アプリケーションのメソッドが多すぎるために、このエラーが発生したようです。これらのメソッドの大部分はサードパーティの jar からのものであると確信しているため、コードを単純化してこれを解決しようとするのは非現実的です。これら2つの提案をオンラインで見つけました。

  1. project.propertiesに追加dex.force.jumbo=trueします (そして adt バージョン 21 を使用します)。私はこれをしましたが、それでもエラーが発生します。

  2. http://android-developers.blogspot.co.il/2011/07/custom-class-loading-in-dalvik.htmlで説明されているように、複数の dex ファイルを使用します。これが唯一の選択肢のようですが、私の場合にどのように適用されるかわかりません。問題は、Drive のようなサービスに依存関係が多すぎることです。この解決策では、依存関係を参照するときに変化形を使用するように Drive ソースを変更する必要はありませんか? (これは明らかにオプションではありません)。

  3. プロガードを使用して、未使用のコード/メソッドを縮小削除します。proguard を使用したアプリケーションのエクスポートは機能し、ドキュメント サービスの統合は 4.0 以上のデバイスで期待どおりに機能します。ただし、2.3 デバイスでテストすると、classnotfound エラーがスローされます。

というわけで、この件に関して何かアドバイスをいただければ幸いです。オプション 2 は私の場合の解決策ですか? 検討すべき別の解決策はありますか?

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

java - dx.bat の不適切なクラス ファイル マジック

コマンドラインからAndroidアプリケーションをビルドする必要があります(Java7を使用してコードをコンパイルしています)が、dexファイルを作成しようとすると次のエラーが発生します

これは私がdx.batを呼び出す方法です

私はすでに同様の質問を見てきました(dx.bat を使用する場合のクラスファイルの魔法が悪い、Dx のクラスファイルの魔法が悪い(cafebabe)または ADK14 でバージョン(0033.0000)

しかし、これらの質問で与えられた唯一の解決策は、java6 を使用してコードをコンパイルする ことです。プロジェクトでActionbarSherlockを使用しているため、 Java7を使用する必要があり、万が一クラスから dex ファイルを作成する方法があるかどうかを知りたいです。 java7 によって作成されたファイル

結局、IntelliJ はすでにそれを実行しています。