WebView-приложение – это когда желаемый сайт открывается внутри приложения и выглядит все так, как будто вы запустили и работаете именно внутри приложения. С помощью webview приложения можно заниматься арбитражем трафика и лить на гемблинг, дейтинг, криптовалютные офферы и другие вертикали. Сейчас создадим простое WebView-приложение для арбитража трафика.
Установка и настройка Android Studio
Скачиваем Android Studio с официального сайта developer.android.com/studio. Устанавливаем программу на компьютер. Все настройки оставляем по умолчанию.
После установки запускаем Android Studio. Программа предложит установить Android SDK. На этом этапе выбираем путь на английском языке.
Если выберем путь, в котором будут русские буквы, программа покажет ошибку.
Выбираем путь, нажимаем «Next». Дальше нажимаем «Finish». Начнется установка Android SDK на компьютер.
После установки Android SDK на стартовой странице программы нажимаем на Configure. Выбираем SDK Manager.
В открывшемся меню переходим во вкладку Android SDK (Appearance & Behavior → System Settings).
Снимаем галочку с Android 11.0 (R). Ставим галочку на Android 10.0 (Q). Переходим во вкладку SDK Tools.
Ставим галочку напротив следующих пунктов: Android Emulator, Android SDK Platform-Tools, Intel x86 Emulator Accelerator (HAXM installer). Нажимаем Apply.
Нажимаем Ok и принимаем пользовательское соглашение для каждого пакета.
Во время скачивания может открыться окно, в котором необходимо выделить максимальное количество оперативной памяти для запуска эмуляторов.
Указываем и нажимаем Next.
Теперь пропишем переменная среды на компьютере и в Android Studio. Для этого нажимаем правой кнопкой мыши на «Мой компьютер». Выбираем «Свойства».
Нажимаем на «Дополнительные параметры системы» и выбираем «Переменные среды».
В поле «Переменные среды пользователя для User» нажимаем «Создать».
Указываем имя переменной ANDROID_SDK_ROOT и значение переменной (пример: D:\твоя папка\AndroidStudioSDK). Нажимаем «ОК».
Создадим ещё одну переменную. Указываем имя переменной ANDROID_SDK_HOME и путь (пример: D:\твоя папка\ AndroidStudioProjects).
Возвращаемся в Android Studio. Нажимаем на Configure и открываем Settings.
Переходим во вкладку Path Variables.
Создаём переменные среды, нажав на плюс.
Указываем имя переменной ANDROID_SDK_ROOT и значение переменной (пример: D:\твоя папка\AndroidStudioSDK). Нажимаем «ОК».
Создадим ещё одну переменную. Указываем имя переменной ANDROID_SDK_HOME и путь (пример: D:\твоя папка\ AndroidStudioProjects).
Нажимаем Apply и OK.
Теперь создадим виртуальную машину. Для этого нажимаем на Configure и открываем AVD Manager.
Нажимаем Create Virtual Device.
Выбираем модель телефона и скачиваем на компьютер.
Программа готова к работе. Переходим к созданию первого WebView приложения.
Создание WebView приложения
Открываем стартовую страницу программы. Создадим новый проект. Для этого нажимаем на Create New Project.
Выбираем стандартный шаблон Empty Activity.
Нажимаем Next.
Называем проект. Выбираем язык программирования Java и Minimum SDK (минимальная версия Android, которое будет поддерживать приложение).
Нажимаем Finish.
Переходим в папку manifest и открываем файл AndroidManifest.xml.
Прописываем разрешения для доступа в интернет.
Перед application пишем код:
<uses-permission android:name="android.permission.INTERNET"/>
Переходим в res → layout. Открываем файл activity_main.xml.
Если нет кода, нажимаем Split в правом верхнем углу.
Удаляем стандартный текст кода.
Вместо него вставляем следующий код:
WebView<
android
:id
=”@+id/webView”
android
:layout_width
=”match_parent”
android
:layout_height
=”match_parent”
/>
Находим в папке java файл MainActivity.
Внутри скобок метода @Override вставляем код:
truewebView.getSettings().setJavaScriptEnabled(
);
“https://cpa.rip/”webView.loadUrl(
);
new WebViewClient webViewClient =
WebViewClient() {
“deprecation” @SuppressWarnings(
) @Override
public boolean
shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true
;
}
N @TargetApi(Build.VERSION_CODES.
) @Override
public boolean
shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true
;
}
};
webView.setWebViewClient(webViewClient);
В переменной webView.loadUrl вставляем URL, который будет открываться в приложении. Например,
“https://cpa.rip/”webView.loadUrl(
);
.
Открываем файл AndroidManifest.xml. В конце тега application прописываем следующий код:
android
:configChanges
=”orientation|keyboardHidden|screenSize”
Он нужен для того, чтобы при повороте экрана приложение не обновлялось.
Если отключен автоматический импорт классов, делаем всё руками. Находим выделенные красным цветом фрагменты кода, наводим курсор и в сплывающей табличке нажимаем на Import class.
У всех созданных приложений по умолчанию стоят стандартные иконки. Чтобы их изменить, необходимо нажать правой кнопкой мыши на папку Res выбрать пункт New и перейти в Image Asset.
В графе Path нажимаем на иконку папки. Находим файл, который будем использовать в качестве иконки приложения.
Нажимаем Next и Finish.
Теперь посмотрим, работает ли приложение. Запускаем эмулятор.
Если всё хорошо, приложение запуститься.
Простое WebView приложение готово. Теперь создадим APK-файл.
В меню нажимаем на Build и выбираем Generate Signed Bundle/APK…
Выбираем APK и нажимаем Next.
Так как мы впервые создаём приложение, необходимо создать файл хранилища ключей для подписи приложения. Для этого в поле Key store path выбираем Create new.
В открывшемся меню в поле Key store path нажимаем на папку справа. Придумываем название. Дальше указываем пароли.
Ниже заполняем Имя, Фамилию, название компании, организации, город, регион, код страны в формате XX.
Нажимаем OK и Next.
В поле Destination Folder указываем путь, куда сохранить APK-файл. Ниже выбираем release и ставим обе галочки внизу.
Нажимаем Finish.
Пождём несколько минут. В программе появится уведомление о готовности APK-файла.
Простое WebView-приложение готово к работе.
Сделал все по мануалу. В разработке полный 0. Параметры webView красным горят в MainActivity . Исправить не могу , что меняет сам движок не помогает и по итогу в приложение заходит и вылетает.
Скорей всего, в этом проблема: “Если отключен автоматический импорт классов, делаем всё руками. Находим выделенные красным цветом фрагменты кода, наводим курсор и в сплывающей табличке нажимаем на Import class.”
В моем случае помогло прописать вот такой код как указанно именно на картинке:
WebView webView = findViewById(R.id.webView);
Автоматом мне такой код не предлагало , но вот ручками сработало 🙂
А так большое спасибо за гайд.
ждем гайд по загрузке в гугл плей)))
очень смешно!)
А подскажите а как дальше делать чтобы пользоваться приложением в google play
Супер! Жду вторую чаcть про настройку трекера и найстройке SDK фб и клоаке
Привет. Сейчас в гугле новые правила публикации. APK файлы не принимает, только ABB. Компиляция в формат abb возможен, не знаешь? Заранее спасибо за ответ.
ABB все без проблем компилируется
А как убрать эту надпись сверху приложения TestApp и цвет фона на котором она написана?
Добрый день!
Сделал приложение по вашей инструкции но не понял как заставить приложение не закрываться после нажатия кнопки назад на смартфоне? Логичней было бы если кнопка Назад работала как и положено)) Подскажите как это реализовать
Не все скрипты, слайды работают и почему то сайт не приобрёл мобильную версию как в браузере.
https://developer.android.com/guide/webapps/webview
Вот ссылка на оф инструкцию, может подчеркнете что-то для себя.