問題タブ [dex]

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

android - AndroidビルドはEclipseで動作しますが、Antでは動作しません(「追加済み」)

私のAndroidプロジェクトは、Androidライブラリとしてマークされたいくつかのgitサブモジュールを使用しています。これらのサブモジュールはすべて、ORMlite Android jarの用途が異なるため、libsディレクトリにORMlitejarが含まれています。Eclipseはこの状況を正しく処理します。処理中に一度ORMlitejarが含まれdex、有効な.apkが生成されますが、を介してビルドを実行すると、次のant debugようになります。

同じJARの複数のコピーを複数のライブラリに分散させる方法はありますか?これを機能させるために変更できるAntビルド設定はありますか?

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

python - Pythonまたは他の言語でDexファイルを生成する

python、perlなどの言語を使用して実行時にdalvikバイトコードを生成することは可能ですか?

ありがとう

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

android - 外部 JAR ライブラリへのリンク中に DexClassLoader を使用したリフレクション

Android アプリケーションのプラグイン アーキテクチャをまとめようとしています。apk「プラグイン」ファイルのディレクトリを調べ、それらを DexClassLoader にロードし、メソッドを呼び出して DerivedLibraryObjects の配列を取得するホスト アプリケーションがあります。

問題は、DerivedLibraryObject が外部 JAR ライブラリに含まれる基本クラスを拡張することだと思います。したがって、ホストとプラグインの両方がこの JAR を参照します。DerivedLibraryObjects の配列を取得しようとすると、次の例外が発生します。

私が収集したものから、これはプラグイン内のオブジェクトがホスト内のオブジェクトと一致しないことを意味します。ただし、ホスト アプリケーションとプラグイン アプリケーションの両方が、まったく同じ jar ファイルのコピーにリンクしています。Object を単純に拡張したオブジェクトを返すと、コードは正常に機能しますが、DerivedLibraryObject の処理を​​開始するとすぐに、このエラーがスローされます。

誰か提案はありますか?

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

android - プリロードされたクラスを置き換えるClassLoader?

一般的な質問: ClassLoader を使用して、事前にロードされた (システムによって、たとえば Android の%android%/frameworks/base/preloaded-classesファイルにある) クラスを置き換えることは可能ですか?

特定: アプリケーションで WebView を作成する前に、DexClassLoader を使用して android.net.* にあるクラスを置き換えようとしています。Class オブジェクトを取得できますが、たとえば getMethods() は、変更されていない/元のクラスの実装で期待される配列を提供します。これは preloaded-classes システムによるものですか?

基本的なセットアップと疑似コード:

  1. android.net.* クラスを変更し、いくつかのテスト メソッドなどを追加します。
  2. コンパイルして、classes.dex で終了します。
  3. jar cf mytest.jar classes.dex
  4. APK アセットに mytest.jar を含める
  5. DexClassLoader を作成し、loadClass() を介してクラスを取得します
  6. クラス オブジェクトの getMethods() は、#1 に存在する変更なしで表示されると予想される配列を返します

使用しているセットアップの詳細と、必要に応じてコードを提供できます。

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

android - Android バイナリの逆アセンブルとデバッグ保護

逆アセンブルやバイトコードのデバッグから Android バイナリを保護したいと仮定しましょう - Java とネイティブ C/C++ コードの両方で市場に出回っている解決策はありますか?

どうもありがとう

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

android - コマンドラインからのAndroidプロジェクトの管理

antを使用せずにコマンドラインからAndroidアプリを管理および実行しているので、次の手順に従いました。

  • R.javaを生成します
  • R.javaとすべての.javaファイルsrc.classファイルにコンパイルします
  • dex以下のコマンドを使用して、クラスファイルのセットをファイルにアセンブルします
    dx --dex --verbose --output=./bin/classes.dex ./bin

.classファイルはbinディレクトリにあります。

しかし、これらの手順で次のエラーが発生します。

このため、Classes.dexファイルを作成できません。

誰かがこれに対する解決策を提案できますか?

[コマンドラインからのみEclipseとantを使用しない]

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

java - JavaサーバーのAndroidへの移植

私はAndroidのバックエンドとしてOpenMRSを使用して医療記録システムの開発に取り組んでいます。OpenMRSは、HibernateやSpringなどのいくつかの非常に重いライブラリに依存しています。

OpenMRSアプリケーション全体を「デキシング」すると、Androidのclasses.dexファイル形式でも大きすぎるファイルが生成されます(このサイズ制限はすでに十分に文書化されています)。これを回避するために、私は現在、依存関係から複数のdexファイルを作成し、Androidのdexクラスローダーを使用して実行時にそれらをロードする作業を行っています。

サーバーのモバイルバージョンが実際に使用される方法のため、実際の処理要求は、大きな依存関係にもかかわらず非常に低くなります。ここでは、自分の電話でエンタープライズサーバーを実行しようとはしていません。

これを設計するために何週間も時間を費やす前に、開発者コミュニティに質問したかっただけです。この戦略は単なる夢のようなものですか?これらすべてのライブラリをロードすると、バイナリ全体がRAMにロードされ、システムが壊れますか?そのようなアプリケーションを最適化する良い方法はありますか?私がここで見逃している明らかな問題や解決策はありますか?

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

java - Google Guava を Android プロジェクトに追加すると、ビルドが大幅に遅くなります

Google Guava r09 を Android プロジェクトに追加した後、ビルド時間、特に DEX 生成フェーズが大幅に増加しました。DEX 生成では、すべてのクラス + 依存するすべての jar を取得し、それらを DEX 形式に変換することを理解しています。グアバは約1.1MBのかなり大きな瓶です

  1. ビルドの速度低下の原因になる可能性はありますか?
  2. これをスピードアップするためにできることはありますか?

PS通常はIntellijからビルドしますが、Mavenでもビルドしてみました-同じ結果です。

ありがとう

アレックス

0 投票する
17 に答える
73962 参照

android - Dex Loader を実行できません 複数の dex ファイルの定義

さて、私は本当にここで立ち往生しています。何をすればいいのかわからない、どこに行けばいいのかわからない!

SDK と Eclipse の両方のバージョンをアンインストール、再インストールしようとしましたが、これを Google で調べてみましたが、何もありません!!!

エミュレーターでアプリを実行できますが、エクスポートできません...

[2011-10-07 16:35:30 - Dex Loader] dex を実行できません: 複数の dex ファイルで Lcom/dreamhawk/kalori/DataBaseHelper が定義されています。

これはdataBaseHelperです

私は疑う:

でもどうしたらいいのかわからない…助けてください!!! :'(