問題タブ [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.
android - コマンドを使用してアンドロイドでdexファイルを実行するには?
コマンドを使用してAndroidでdexファイルを実行する方法を共有してください。
これは理解するだけです。
android - 特定のclasses.dexファイルでクラス名を取得する方法はありますか?
ホームオートメーションアプリを作成しています。プラグインシステムを追加しようとしています。テストとして、テストクラス(Buttonをサブクラス化する)をAPKファイルとしてエクスポートし、アプリのファイルディレクトリに配置しました。このクラスの新しいインスタンスを作成し、とを使用してビューに配置することができましDexClassLoader
た.loadClass
。
次のステップは、このディレクトリ内のすべてのAPKをスキャンし、それらのクラスの名前を取得することです。
私はまさにそれを行うDexFileクラスを見つけましたが、それは次の例外をスローします:
システムキャッシュで最適化されたDexFileを見つけようとしているように見えますが、キャッシュディレクトリへのアクセス許可がありません。私が見ることができることから、これはおそらく設計によるものであり、私はそれで問題はありません。DEXファイルを解析してそこからクラス名を取得する別の方法はありますか?
いくつかのdex逆コンパイラプロジェクトのソースを見てきました。独自のソリューションを展開する必要がありますか?
何かを見逃した場合に備えて、(Activity OnCreateからの)テストアプリコードを次に示します。
android - Androidアプリのプラグインアーキテクチャ?
オープンソースアプリ用のプラグインシステムを実装したいのですが、それは非常に大きくなり、少数のユーザーだけが必要とする多くの機能を備えているためです。userAはfeature7とfeature24を必要とし、userBはfeature39とfeature24を必要とするため、さまざまなアプリをリリースすることは適切なソリューションではありません。
プラグインアーキテクチャの良い例はどこにありますか?
これが私がプラグインにできることを望んでいることです:
- 特定の画面のレイアウトを再定義します(収縮したXMLをロードしますか?)
- クラスのメソッドを再定義します(load dex class?、AOP?)
たとえば、プラグインの1つが特定の画面にボタンを追加する必要があり、このボタンをクリックすると、アプリのデータベースの値が増加します。私の知る限り、これはコンテンツプロバイダーとインテントでは実行できません。
コアアプリのコードがいたるところにたくさんのフックがある複雑なものになるのは避けたいです。
プラグインの形式は、SDカード上のファイル、アプリ、またはその他のものである可能性があります。
android - dx から dex への変換には、元のクラス ファイルの検証が含まれますか?
dx によって dex ファイルに変換される前に、コンパイルされたクラス ファイルをいじくり回すことに興味があります。Dalvik の公式ドキュメントと、DEX 形式と Class 形式の比較を少し調べました。実際の変換プロセス、class->dexに関する情報はあまり見つかりません。dx は、変換前にまずクラス ファイルを検証しますか? 単純にフィールドごと、メソッドごとに進み、命令のグループをよりコンパクトなグループにマージしますか? 任意の洞察をいただければ幸いです。
ありがとう。
android - android.jarクラスを変更し、Androidデバイスで置き換えますか?
Android SDKのソースコードをダウンロードし、クラスandroid.widget.TextViewを変更しました。
今、私は自分のデバイスで実行されている実際のTextViewを変更されたものに置き換える方法を見つけようとしています。
コンパイルされたクラスが私の電話の/system/frameworkにあることがわかりました。
適切なjar&odexファイルを置き換える方法についてのポインタはありますか?
注:私はまた、グーグルグループでアンドロイドのビットアンドピースを変更することは機能しないことを読みました、私たちはソースコード全体を構築する必要があります。
android - dex を実行できません: 複数の dex ファイルで Lcom/.... が定義されています
私は周りを検索してきましたが、この問題に関連するかなりの数の投稿がありますが、決定的な解決策はないようです (たとえば、apk のビルド時のエラー - "Multiple dex files define Lcom/google/ads/Ad" ) 。
私はEclipseのクリーニング/更新/再起動を試みました-他の投稿で言及されているすべてのこと。
プロジェクトがビルドされ、デバイスで実行できます。しかし、署名済み apk をエクスポートしようとすると、エラーが発生します。
他のプロジェクトではエラーは発生しません-adtなどを更新する前にすべてが機能しましたが、何らかの理由で特定のプロジェクトがエクスポートされません...
私が言うように、プロジェクトをEclipseでビルドして実行/デバッグできます-エクスポートすることはできません。
android - AndroidR.javaの拡張オペコードはありません
Androidアプリケーションのコンパイル中に重要な問題が発生しました。
Windev Mobileを使用して、Javaコードを生成し、apkをコンパイルして作成しますが、apkを作成すると、エラーが発生します。
コマンドライン:"myjavapath\java.exe" -Xmx1024m -Djava.ext.dirs=.\platform-tools\lib -jar .\platform-tools\lib\dx.jar --dex --output "path\classes.dex" "path\classes" "path\libs"
返されたエラー:出力の書き込みに問題があります:No expanded opcode for 0004368d R.java:11@0001: invoke-direct v0:NffffLmynamespace/R$attr;, java.lang.Object.<init>:()v
さらに、R.javaのR$attrには何も含まれていません。
64kという厳しい制限があると思います。だが:
- R.javaファイルには364行しか含まれていません。これらの行がフィールド/メソッド参照である場合、64kのハード制限からはほど遠いです。
- このエラーは、WindevMobileプロジェクトで特定のウィンドウを追加したときに発生しました。別のプロジェクトでエラーなしで使用しているウィンドウ。
それで、あなたはそれが何から来ていると思いますか?情報や書類が必要な場合は問題ありません。
前もって感謝します。
PS:たぶん私の英語は完璧ではありません、ごめんなさい。
java - 外部ライブラリは APK のどこに存在しますか?
Android プロジェクトに外部 jar を追加するとき、それらは実際には APK パッケージ内のどこにあるのでしょうか? 私はそれらを見つけることができないようです。
Java は通常、必要に応じて実行時にクラスをロードするため、それらが配布可能ファイルに含まれていないように思われるのは不思議です。
デクは違うの?これらは静的ビルドですか?
java - VMバイトコードをJavaに逆コンパイルする方法
VMバイトコードファイルであるAndroid DEXを対応するJavaソースコードに変換するツールはありますか?