2012-01-06 7 views
2

hereのような単純なJARファイルを作成し、シェルで実行しようとしています。私はこの行に固執していますDalvik VM呼び出し問題

dx --dex --output=foo.jar Foo.class 

私はこの行をCMDで実行します。私はこの問題を解決することができますどのように私はいつもこの

trouble processing: 
class name (com/delvix2/Foo) does not match path (C:/somepathhere/classes/com/delvix2/Foo.class) 
...while parsing C:/somepathhere/classes/com/delvix2/Foo.class 
...while processing C:/somepathhere/classes/com/delvix2/Foo.class 
1 warning 
no classfiles specified 

enter image description here

のようなエラーを取得していますか?

答えて

2

dxのように、あなたが与えたクラスの相対パスがパッケージに一致すると思われます。代わりにこれを試してみてください:

cd c:/somepathhere/classes 
dx --dex --output=foo.jar com/delvix2/Foo.class 
+0

注:私の以前の答えはまだ同じ – JesusFreke

+0

おかげで、間違っていました。元の質問を画像で更新しました。 – kakopappa

+0

をチェックしてください。もう一度私の答えをお読みください:)。相対パス "com/delvix2/Foo.class"を使用する必要があります - 正確には – JesusFreke

0

をそれはあなたのケースで

dx --dex --output=C:\classes.dex C:\temp\Foo.jar 

にする必要があり、その後、あなたが

aapt add C:\temp\Foo.jar C:\classes.dex 

を使用する必要があります私はこのすべてを試してみました、それは仕事

0

ことを願っています、動作しませんでした。私のために働く何かがあり、それはあなたのクラスを\sdk-path\platforms-tools\に入れることでした。例えば、

C:\sdk-path\platforms-tools\dx --dex --output=class.dex com\mypack\app\myclass.class 

そしてmyclass.classが住んでいるが、

C:\sdk-path\platforms-tools\com\mypack\app\myclass.class 

これは安っぽいですが、働いていた唯一のもの。

dx --dex --no-strict --output=foo.jar Foo.class 
2

--no-strictオプションを使用します。

dx --dex --output="full path to dex file\file.dex" "c:\.....path to folder which contains the class file only"

まずパス:「ONLY」あなた.classファイルを含むフォルダへのパス:あなたが

セカンドパスをしたいDEXファイルの名前を含むDEXファイルへのフルパス。

(ただ、フォルダへのパスをあきらめ、クラスファイル名を与えない)

2

これは私の作品:

関連する問題