19

私たちの国ではブロックされているため、OperaMiniv6.5サーバーを編集します。

これで、クラスを抽出した.apkファイルを解凍しました。次に、dex2jar.batを介して変換し、サーバーを変更しました。

私の問題は、.jarまたは.classをclasses.Dexに再パックしたいということです。どうすればいいのですか?

4

5 に答える 5

35

これが私の場合に役立った解決策です...

.jarファイルが「c:\ temp\in.jar」にあるとします。コマンドプロンプトウィンドウで、.. \ android-sdk\platform-toolsに移動します。.apkを実行するには:

dx --dex --output="c:\temp\app.apk" "c:\temp\in.jar"

.dexファイルを取得するには、次のコマンドを実行します。

dx --dex --output="c:\temp\dx.dex" "c:\temp\in.jar"
于 2012-12-31T12:20:10.533 に答える
3

Macの場合、dxコマンドツールは、一番上の回答で述べたように、別のディレクトリに保存されます。これがあなたがmacでそれをする方法です:

   exampleName$ /Users/exampleName/Library/Android/sdk/build-tools/25.0.2/dx --dex --output="/Users/exampleName/Downloads/classes-dex2jar.jar" "/Users/exampleName/Downloads/name.dex"

より詳細な説明:

  • dxツールはAndroidSDKに保存されていますが、Macの別のディレクトリでは、Macのパスは次のようになります。/Users/exampleName/Library/Android/sdk/build-tools/25.0.2/
  • コマンドはWindowsとMacで同じですが、パスが異なるだけです
  • 両方のプラットフォームのコマンドは dx --dex--output="c:\temp\app.apk" "c:\temp\in.jar"
  • ツールがdexファイルを生成するのに数分かかる場合があります

それでも何らかの理由で機能しない場合は、次の要件に従っていることを確認してください。

ここに画像の説明を入力してください

これは遅いことはわかっていますが、何時間もの試行錯誤の末、自分でこれを理解する必要がありました。他のMacユーザーに役立つことを願っています。

于 2017-07-18T20:06:45.953 に答える
1

Android Studio全体のダウンロードを回避するには:コマンドツールに移動して、フォルダーをダウンロードして解凍します。次に、その中に入ってツールを見つけますsdkmanager。次に、コマンドラインでタイプしsdkmanager "build-tools;28.0.1"ます。使用しているJavaのバージョンに応じて、適切なビルドツールのバージョンを選択できます。これにより、コマンドラインツールのルートディレクトリにダウンロードされます。このフォルダに移動すると、dxツールが表示されます。次に、と入力できますdx --dex --output="nameoffile.dex" nameoffile.jar

少し補足:大規模なjarを変換しようとすると、OUT OF MEMORYエラーが発生する可能性があります。この場合、JVMにヒープの増加オプションを渡すだけですdx -JXmx256m ...

于 2019-01-03T21:45:22.710 に答える
0

jarファイルをデキシファイするには、sdkのplatform-toolsフォルダー内でdx.batを使用します。SDKのtools\antフォルダー内のbuild.xmlファイル内の-dexタスクを確認することもできます。

于 2011-12-01T21:15:23.397 に答える
0

apktoolが必要なようですが、dxの実行に取り掛かって自分自身を適応させる必要なしに、apkを再パックして再署名することができます。

開梱と再梱包の方法に関する記事は次のとおりです

于 2013-05-30T09:34:28.987 に答える