У вас есть проблема с открытием .CLASS-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы CLASS. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.
Для чего нужен файловый формат .CLASS?
Файл, содержащий суффикс CLASS, представляет собой скомпилированную форму исходного файла JAVA, сгенерированного компиляторами Java. Файл CLASS обычно имеет то же имя, что и соответствующий исходный файл, например Helloworld.java будет преобразован в Helloworld.class.
CLASS-файлы содержат набор инструкций JAVA байткода, таких как «Загрузить и сохранить» или «Создание и манипулирование объектами». Для облегчения хранения и распространения громоздких приложений, несколько файлов .class могут быть объединены в один архив .jar.
Для запуска требуемого приложения байткод проверяется и загружается в виртуальную машину Java (JVM), которая в свою очередь либо интерпретирует его, либо компилирует в машинный код. Как правило, интерпретация приводит к значительно меньшей производительности, чем компиляция.
СМОЖЕШЬ РЕШИТЬ ЭТУ ЗАДАЧУ ЗА МИНУТУ НА PYTHON?
Файлы классов не зависят от платформы. Также возможно построить файл .class на одной системе и затем выполнить его в JVM на другой системе. Однако, поскольку существует несколько модификаций CLASS-файлов, некоторые из них могут поддерживаться только определенными версиями Java Virtual Machine.
Источник: www.filetypeadvisor.com
Файл расширение CLASS
Класс расширения файлов обычно используется для классов Java. На языке программирования Java исходные файлы (*.java files) собираются в (виртуальные) машиночитываемые файлы CLASS.
Поскольку Java является независимым от платформы языка, исходный код собирается в выходной файл, известный как Bytecode, который он хранит в файле CLASS.
Если исходный файл имеет более одного класса, каждый CLASS собирается в отдельный файл CLASS, который может быть загружен любой виртуальной машиной Java (JVM).
Типы мима:
Приложение/Java
Приложение/Java-Byte-код
Приложение/октет
Приложение/X-Java-Class
Приложение/X-Java.vm
Файлы с расширением CLASS в основном связаны с языком программирования Java и используются для составленных исходных кодов Java, известных как файлы CLASS Bytecode.
Как открыть: используйте любой совместимый IDE или редактор исходного кода для просмотра контента *.class.
Как преобразовать: программы IDE могут «создавать» пакеты JAR, в том числе *.classes и другой контент.
Java Class File — Открыватели файлов
Windows
- Oracle Java Runtime Environment
- Eclipse IDE for Java Developers
- dirtyJOE
- JD-GUI
- DJ Java Decompiler
Источник: whatext.com
Программа «Английский за 4 Недели 2в1» — ДЕМО Видео
Роль файла classes.dex в файле apk
При открытии файла apk с помощью winrar (s/w для открытия сжатых файлов). Я получил кучу файлов, упакованных в apk. Среди них class.dex — один. Мой вопрос в том, какова роль этого файла, и если мы изменим/удалим тот же файл, это повлияет на apk?
Jaguar 09 янв. 2013, в 09:12
Поделиться
Поделиться:
5 ответов
Лучший ответ
- classes.dex: классы, скомпилированные в формате файла dex, понятные виртуальной машине Dalvik
Поскольку файлы .dex содержат ресурсы APK, любое редактирование этих файлов будет напрямую влиять на APK.
Sahil Mahajan Mj 09 янв. 2013, в 08:14
Поделиться
Хороший ответ. Вы случайно не знаете, почему существует только один class.dex, когда существует несколько файлов .class? Это связано с оптимизацией, выполненной dexing, или это просто какой-то пакет, такой как файл .jar?
PSIXO 13 фев. 2014, в 17:40
Я считаю, что файлы dex не содержат ресурсов. они объединяются после создания classes.dex.
stdout 10 авг. 2015, в 19:45
.dex файл Скомпилированный файл кода приложения Android.
Программы Android скомпилированы в файлы .dex (Dalvik Executable) , которые, в свою очередь, превращаются в один файл .apk на устройстве..dex файлы могут быть созданы путем автоматического перевода скомпилированных приложений, написанных на языке программирования Java.
И да, если вы удалите эти файлы, это повлияет на APK.
BBdev 09 янв. 2013, в 08:16
Поделиться
classes.dex — это, по сути, вся логика приложения. Код данного приложения написан в java, а затем скомпилирован в файлы классов, тогда эти файлы классов скомпилированы (со многими оптимизациями) в формат dalvik VM. Обратите внимание, что также могут быть некоторые .so файлы, которые также являются кодом приложения, но они генерируются при использовании NDK. Вы не можете удалить этот файл.
Однако вы можете изменить его, сначала выполнив эту утилиту https://code.google.com/p/smali/, которая будет генерировать smali-код из этого скомпилированного dex, который несколько похож на java, и может Быть понятым. Вы также можете использовать инструменты ApkOneClick или ApkMultiTool для получения источника Java из файлов smali, но они, вероятно, не будут идеальными и потребуют дальнейшей фиксации. Когда вы измените код, который вы хотите, вы должны снова построить class.dex и поместить их в существующий файл zip/apk, который у вас есть. Обратите внимание, что существующие файлы сертификатов (META-INF) больше не будут действительны, и вам нужно будет удалить эту папку и отказаться от пакета apk, чтобы установить его на телефон или эмулятор.
Для получения дополнительной информации вы также можете проверить этот вопрос Что такое .dex файлы в Android?
Также это отличный учебник по разборке файлов dex с использованием существующих инструментов http://blog.vogella.com/2011/02/14/disassemble-android-dex
PSIXO 14 фев. 2014, в 12:26
Поделиться
Роль classes.dex в Android аналогична роли JAR файлов в простой Java. Это файл, содержащий байт-коды. В случае Android байт-код — это байт-код Dalvik, который отличается от байт-кода Java.
Если мы модифицируем/удаляем один и тот же файл, это будет влиять на apk?
Если вы изменяете classes.dex , вы изменяете поведение программ, которые могут или не могут работать после переупаковки. Если вы удалите classes.dex , то ваше приложение не имеет кода, и вы не должны ожидать его работы.
Cyker 07 дек. 2016, в 16:38
Поделиться
.dex файл в apk — это файл сжатия, который состоит из всех классов java в коде приложения. Его отличие от файла jar. Файл jar представляет собой коллекцию файлов .class, которые изолированы. Если мы распакуем .jar, мы получим все классы отдельно. С другой стороны,.dex файл — это один файл, состоящий из всего .class файла из кода приложения.
Копирование компиляции: несколько файлов .java → несколько файлов .classes → один .dex файл
.dex файлы — это исполняемые файлы, которые выполняются DVM. Dalvik Virtual Machine, которая является исполняемой версией для Android.
.dex никогда не будет включать ресурсы. Ресурсы отдельно сохраняются в папке /res в .apk
Suyog Gunjal 16 фев. 2016, в 05:37
Поделиться
Ещё вопросы
- 0 Математическая область Номер позиции Радиус распространения
- 0 -webkit-transform проблемы с производительностью в Chrome
- 0 Allegro5: выводит инт на экран
- 1 Python запрашивает Microsoft Graph API-аутентификацию
- 0 AngularJS — как передать объект (созданный на лету) с интерполированными данными в пользовательскую директиву
- 0 Как выбрать COUNT в подзапросе оптимизированным способом
- 0 пакет udp не получен в QThread
- 0 Передача вновь созданного объекта на другую страницу
- 0 MySQL двухколонный уникальный ключ
- 0 Редактировать в состоянии выбрать поле с группировкой в настройках
- 1 Скрепка с ActionCable
- 0 Как установить значения в текстовых полях
- 1 После обновления Android Studio 3.3 до 3.4 AAPT2 генерируется ошибка
- 0 Работа со ссылочными переменными в C ++
- 1 Почему set pop возвращает первый элемент, а list pop возвращает последний элемент в python
- 0 Вход для api restfull в angularjs и фляги?
- 0 Указатель на голову дерева
- 1 Неизвестная опция командной строки ‘—recompile-scripts’. После обновления gradle до 5.1.1
- 0 подготовить stmt, считать строки, извлекать массив
- 0 Как объединить несколько селекторов класса CSS для JQuery Buttonset?
- 0 Ошибка Angular.js: Дубликаты в повторителе не допускаются — Отслеживание по индексу не работает
- 1 DataOutputStream.writeBytes добавляет ноль байтов
- 1 Конструктор объекта указывает на исходный конструктор, а не на prototype.constructor после переопределения прототипа функции конструктора.
- 1 Не отображается фактическая ошибка через командную строку в Node.js
- 1 Две цветные полосы на двух участках, одна и та же фигура
- 0 Как включить хинтинг кода для CSS в Sublime Text 2?
- 0 Почему мой простой код jQuery не работает с методом .css ()?
- 1 Перейдите в каталог с максимальной датой по FTP, используя Python [duplicate]
- 1 Robolectric Unit Test завершается неудачно с NoClassDefFoundError, когда приложение зависит от AppsFlyerLib
- 1 регулярное выражение, отфильтровывающее ‘N’, за которым следует любая комбинация цифр
- 1 Отсутствует метод getRequestBuilder в классе RemoteMessageProto
- 0 Как добавить текст и CSS с помощью jquery
- 1 Когда не все ваши функции полиморфны
- 0 Почему драйвер Mongo C ++ дает мне ошибки компиляции?
- 1 Получить историю уведомлений от Firebase
- 0 Как завершить _beginthreadex ()?
- 0 Как управлять вертикальным выпадающим меню при наведении курсора?
- 0 Как я могу найти [внутри моего столбца MySQL?
- 1 Самый простой способ добавить политику конфиденциальности с моим приложением для Android
- 1 Recyclerview не обновляет список данных
- 0 Почему я получаю числа вне диапазона, который я передал?
- 0 Обход таблицы с помощью jQuery
- 1 Как проверить, соответствует ли имя строки в dataframe имени столбца
- 1 Можно ли запустить код сценария c # до запуска приложения в Unity
- 0 Запрос PDO Связывание таблиц и отображение результатов
- 0 Диапазон значений HSV для выборки изображения, как сделано Adobe
- 1 Как получить маршрут REST API, такой как / api / library / 1 / books / 2 / dosomething? Q = params с WebAPI?
- 0 Как сгруппировать данные из отношения 1-многие в одном запросе с использованием MySQL?
- 0 Ссылаясь на корневой каталог
- 0 Ошибки ограничения внешнего ключа
Источник: overcoder.net