SMALI и прочее прочее

Ответить
Sneg
Сообщения: 1
Зарегистрирован: 19 янв 2016, 19:14

SMALI и прочее прочее

Сообщение Sneg » 19 янв 2016, 19:21

Добрый день всем. Интересуют следующие вопросы:
1) Как открыть ГОТОВОЕ приложение апк в Android studio
2) Как переводить SMALI ( и можно ли его редактировать в переведённом состоянии).
3) Какая команда отвечает за работу боковых клавиш громкости (хочу клавишей громкости управлять приложением)

Вообще требуется квалифицированая помощь) так как я юзверь, зашедший не далеко,а дедлайн на подступе )

Естественно кто может помочь в вопросах, пишите в ЛС тут или djsnow@yandex.ru. Договоримся)

GRAF_COLLIOSTRO
Сообщения: 115
Зарегистрирован: 08 янв 2015, 14:32

Re: SMALI и прочее прочее

Сообщение GRAF_COLLIOSTRO » 20 янв 2016, 00:58

1. про открыть .apk - открывается винраром... в нём найдёте ресурсы и скомпилированный код... исходника там нет чисто физически. попытки декомпелировать не всегда удачны. если в исходнике просто вьюшка и текст - то проблем никаких... а вот со сложным ёмким кодом достаточно сложно получить исходник... можете погуглить на эту тему.

вот видео вам в помощь: https://www.youtube.com/watch?v=25O51hDMvh8

2. Notepad++ или Text editor вполне адекватно открывают файл. в плане редактирования ничего сказать не могу. гуглите!

3. Обработка аппаратных клавиш и клавиатуры имеет следующие методы:
onKeyDown() — вызывается при нажатии любой аппаратной клавиши;
onKeyUp() — вызывается при отпускании любой аппаратной клавиши;

Код: Выделить всё

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
	// TODO Auto-generated method stub
	switch (keyCode) {
	case KeyEvent.KEYCODE_MENU:
		Toast.makeText(this, "Нажата кнопка Меню", Toast.LENGTH_SHORT)
				.show();
		return true;
	case KeyEvent.KEYCODE_SEARCH:
		Toast.makeText(this, "Нажата кнопка Поиск", Toast.LENGTH_SHORT)
				.show();
		return true;
	case KeyEvent.KEYCODE_BACK:
		onBackPressed();
		return true;
	case KeyEvent.KEYCODE_VOLUME_UP:
		event.startTracking();
		return true;
	case KeyEvent.KEYCODE_VOLUME_DOWN:
		Toast.makeText(this, "Нажата кнопка громкости", Toast.LENGTH_SHORT)
				.show();
		return false;
	}
	return super.onKeyDown(keyCode, event);
}
вот примерно так оно работает... с громкостью есть нюансы - помимо вашего приложения система тоже реагирует на их нажатия. поэтому там return false; более подробно у гугла на оффсайте расписано.

Ответить