Сейчас на форуме: rmn (+9 невидимых) |
eXeL@B —› Основной форум —› Android: как создавать инстанс своего класс при запуске приложения? |
Посл.ответ | Сообщение |
|
Создано: 11 февраля 2014 16:23 · Поправил: kunix · Личное сообщение · #1 Итак, есть готовое приложение без исходников. Нужно делать некоторое действие при старте приложения. Я считаю, что самый нормальный путь - добавить свой класс и попросить Android создавать его инстанс при запуске приложения. Вопрос в том, как правильно попросить Android? Еще можно дописывать smali код, но это геморно делать каждый раз для новой версии. Я пробовал добавлять подкласс android.app.Application, и даже прописывал его в еще одну ветку <application> в AndroidManifest.xml. Не помогло. Сейчас погуглил и понял, что это было глупо. Тогда я попробовал создать ветку <application> без атрибута android:name. Тогда вообще перестались создаваться инстансы подклассов android.app.Application. |
|
Создано: 11 февраля 2014 18:17 · Поправил: SaNX · Личное сообщение · #2 Надо добавлять в манифесте <activity android:name="com.hueta.YourActivityName" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> И твой класс первым получит управление при запуске. Из своего класса запускай основное приложение. Строки <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> в манифесте должны быть только в одном месте - в описании твоего класса. ----- SaNX | Сообщение посчитали полезным: kunix |
|
Создано: 11 февраля 2014 23:24 · Поправил: kunix · Личное сообщение · #3 Вроде заработало. Сделал так: 1) Создал в eclipse проект с MainActivity.java и NewMainActivity.java. Содержимое MainActivity.java тривиально. Содержимое NewMainActivity.java следующее: Code:
2) Собрал проект в eclipse. Разобрал получившийся apk при помощи apktool. 3) Разобрал при помощи apktool программу-жертву. 4) Скопировал NewMainActivity.smali и NewMainActivity$1.smali в программу-жертву. 5) Добавил в AndroidManifest.xml жертве тег <activity> для NewMainActivity. Также убрал <intent-filter> у MainActivity. Code:
6) Собрал жертву через apktool. Ну вроде нормально работает. При запуске показывает сообщение и по нажатию на ОК запускает MainActivity. |
eXeL@B —› Основной форум —› Android: как создавать инстанс своего класс при запуске приложения? |