Дальвик В.М. Проблема вызова - PullRequest
2 голосов
/ 06 января 2012

Я пытаюсь создать простой файл JAR, например здесь , и выполнить его в оболочке. я застрял на этой линии

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

Как я могу исправить эту проблему?

Ответы [ 5 ]

2 голосов
/ 08 ноября 2012

Это работает для меня.

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

Первый путь: полный путь к файлу dex, включая имя нужного файла dex

Второй путь: путьв папку, которая содержит «ТОЛЬКО» ваш .class файл.

(просто укажите путь к папке, не указывайте имя файла класса)

2 голосов
/ 28 сентября 2012

Используйте параметр --no-strict:

dx --dex --no-strict --output=foo.jar Foo.class
2 голосов
/ 06 января 2012

Похоже, dx ожидает, что относительный путь к классу, который вы ему дадите, будет соответствовать его пакету.Попробуйте вместо этого:

cd c:/somepathhere/classes
dx --dex --output=foo.jar com/delvix2/Foo.class
0 голосов
/ 15 февраля 2012

Я все это пробовал, и не получилось.Есть кое-что, что сработало для меня, и это было поместить ваши уроки в \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

Это дерьмо, но единственное, что сработало.

0 голосов
/ 18 января 2012

Это должно быть в вашем случае

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

, а затем вы должны использовать

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

Я надеюсь, что это будет работать

...