AVG 2023 | FREE Antivirus, VPN & TuneUp for All Your Devices
AVG 2023 | FREE Antivirus, VPN & TuneUp for All Your DevicesSave 40% on Internet Security
Powerful protection and performance for your PC and beyond
Powerful protection and performance for your Mac
Get more than just antivirus with security made just for your iPhone and iPad – try it FREE.
Powerful protection for your desktop and mobile devices
Powerful protection for your desktop and mobile devices
FREE Download
FREE Download
Also available for PC, Android, and iOS
•
See all features
Also available for PC, Mac, and iOS
•
See all features
Also available for PC, Mac, and Android
•
See all features
Compatible with Windows 10
•
See all features
2022
Top Rated product
2022
Top Rated product
2022
Top Rated product
2022
Top Rated product
2022
Top Rated product
Or solve everything quickly and easily with AVG Ultimate
What level of protection do you need?
SLIDE TO CHOOSE
Basic
Free solutions for everyone
Advanced
The ideal tool for the job
Complete
Our very best products packaged together
Recommended product for you:
AVG Antivirus FREE
Get essential protection
- Stop viruses, spyware, and other malware
- Block unsafe links, downloads, and email attachments
- Scan for PC performance problems
- Get real-time security updates
See all antivirus features
FREE
Free download
FREE
Free download
Our free antivirus is great.

AVG Antivirus Free View features | AVG Internet Security View features | |
---|---|---|
Block viruses and malware | ||
Protect against ransomware | ||
Verify Wi-Fi network security | ||
Avoid fake and unsafe websites | ||
Prevent webcam hijacking | ||
Free download
| Free Trial (no credit card needed) |
AVG Antivirus for Mac View features | AVG Internet Security for Mac View features | |
---|---|---|
Block viruses and malware | ||
Protect against ransomware | ||
Verify Wi-Fi network security | ||
Avoid fake and unsafe websites | ||
Prevent webcam hijacking | ||
Free download
| Free Trial (no credit card needed) |
Recommended product for you:
AVG Internet Security
Get our best-in-class protection
Stay safe against all online threats
Six layers of protection combined with the world’s largest threat-detection network means we block every type of threat, no matter how new or dangerous.
Protect your personal files and your private life
AVG Internet Security comes with webcam and ransomware protection to secure your personal files — and personal life — from spying, thieving hackers.
Shop and bank online freely and securely
We block spam, scams, and fake copycat sites so you never have to worry about accidentally giving your passwords or financial data to cybercriminals.
30-day money-back guarantee
Plus, you’ll get:
- Protection for up to 10 devices: Including Windows, Mac, and Android
- Email security: Stop malware from attacking you through your inbox
- Intelligent threat detection: Detect and prevent even the newest threats
See all features See all features
Recommended product for you:
AVG Ultimate
Our 3-in-1 package gives you our best security, privacy, and performance products
AVG Internet Security
- Stop viruses, ransomware, and other malware
- Safely shop and bank online
- Prevent hackers from hijacking your webcam
AVG Secure VPN
- Browse the web privately
- Stay secure when using public Wi-Fi
- Access online content from anywhere
AVG TuneUp
- Clean out junk and old programs for more space
- Speed up your device’s performance
- Get more out of your device’s battery life
AVG AntiTrack
- Keep your true online identity private.
- Avoid targeted advertising.
- Block attempts to track you online.
See details about AVG Ultimate
30-day money-back guarantee
What level of privacy do you need?
SLIDE TO CHOOSE
Basic
Free solutions for everyone
Advanced
The ideal tool for the job
Complete
Our very best products packaged together
Recommended product for you:
AVG Secure Browser
Get essential online privacy
- Stop viruses, spyware, and other malware
- Block unsafe links, downloads, and email attachments
- Scan for PC performance problems
- Get real-time security updates
See all features
FREE
Free download
Recommended product for you:
AVG Secure VPN
Get our best-in-class protection
Secure any Wi-Fi, wherever you go
Keep your browsing, banking, and online payments hidden and protected, whether you’re at home or using public Wi-Fi.
Keep your online activity private
Encrypt your connection so nobody sees what you do online. That includes hackers, your ISP, or even the government.
Access content from all around the world
Choose an anonymous server in the country of your choice, then browse and stream as if you were there.
30-day money-back guarantee
Plus, you’ll get:
- Military-grade encryption: Secure your data behind unbreakable 256-bit encryption
- Access on up to 10 devices simultaneously: Protect up to 10 devices at once, including Mac, Android, and iOS
- Simple and powerful security: Just download your VPN, install it, and secure your connection with the click of a button
See all features See all features
Recommended product for you:
AVG Ultimate
Our 3-in-1 package gives you our best security, privacy, and performance products
AVG Internet Security
- Stop viruses, ransomware, and other malware
- Safely shop and bank online
- Prevent hackers from hijacking your webcam
AVG Secure VPN
- Browse the web privately
- Stay secure when using public Wi-Fi
- Access online content from anywhere
AVG TuneUp
- Clean out junk and old programs for more space
- Speed up your device’s performance
- Get more out of your device’s battery life
AVG AntiTrack
- Keep your true online identity private.
- Avoid targeted advertising.
- Block attempts to track you online.
See details about AVG Ultimate
30-day money-back guarantee
What level of performance do you need?
SLIDE TO CHOOSE
Basic
Free solutions for everyone
Advanced
The ideal tool for the job
Complete
Our very best products packaged together
Recommended product for you:
AVG TuneUp — try free for 30 days
Try our best PC performance product for free
- Use all features free for 30 days
- Speed up PC performance
- Remove junk to free up space
- Fix issues before they become problems
See all features
Give it a try
Get 30 days of PC protection for free
Free download
(no credit card needed)
Recommended product for you:
AVG TuneUp
Keep your devices running their best
Tune up your PC
Speed up PC performance, remove junk to free up space, and fix issues before they become problems with automatic maintenance.
Clean up your Mac
Get more storage space by auto-cleaning hidden junk, finding and removing duplicate files, and deleting blurry or low-quality photos.
Optimize your Android
Get rid of useless junk for more space, clean up your photo library, stop apps from draining your resources, and extend your battery life.
30-day money-back guarantee
Plus, you’ll get:
- Access on up to 10 devices: Including Windows, Mac, and Android
- Live phone or chat support
See all features See all features
Recommended product for you:
AVG Ultimate
Our 3-in-1 package gives you our best security, privacy, and performance products
AVG Internet Security
- Stop viruses, ransomware, and other malware
- Safely shop and bank online
- Prevent hackers from hijacking your webcam
AVG Secure VPN
- Browse the web privately
- Stay secure when using public Wi-Fi
- Access online content from anywhere
AVG TuneUp
- Clean out junk and old programs for more space
- Speed up your device’s performance
- Get more out of your device’s battery life
AVG AntiTrack
- Keep your true online identity private.
- Avoid targeted advertising.
- Block attempts to track you online.
See details about AVG Ultimate
30-day money-back guarantee
AVG Internet Security
Protect what’s yours with Internet Security
What’s yours is yours, and we keep it that way. Our new Webcam Protection and Ransomware Protection features make sure no one can use your built-in camera, or change your files without your permission.
Discover more Discover more
AVG Antivirus for Android
Smart phone, safe phone
AVG AntiVirus for Android guards your mobile phone against malware attacks and threats to your privacy. We give you on-the-go protection against unsafe apps, anti-theft locker & tracker, and plenty more security and performance features.
Discover more Discover more
AVG Tuneup
Faster, cleaner, clever PC
AVG TuneUp is your one-screen suite that makes your PC run faster, smoother, and longer: just how you like it.
NEW: Software Uninstaller removes bloatware and adware taking up space on your
PC, giving you more memory for the things you really care about.
Discover more Discover more
AVG Secure VPN
Untrackable,
unhackable,
unbreakable Secure VPN
Connect boldly to public Wi-Fi with our bank-grade, 256-bit AES encryption. We keep all your online activity private and away from hackers, nosy neighbors and curious agencies. And it doesn’t hurt that you can access your favorite content worldwide.
Discover more Discover more
Give your small and medium business the security it needs. From antivirus and spyware protection to data transaction and file server security, our Business Edition products have all the features your business needs to survive and thrive beyond cyber threats.
Protect your businessProtect your business
Mobile antivirus
Advanced smartphone protection against viruses, spyware and thieves
Learn more
Mobile antivirus
Advanced smartphone protection against viruses, spyware and thieves
Learn more
Free Desktop antivirus
Essential protection against viruses and spyware. Fully Windows 10 compatible.
Learn more
Free Desktop antivirus
Essential protection against viruses and spyware. Fully Windows 10 compatible.
Learn more
Ultimate protection
All-in-one antivirus, tuneup and privacy for all your family’s devices.
Learn more
Business antivirus
Premium protection and privacy for your small business
Learn more
World-class protection
We’ve added 25 new accolades in the past two years to the hundreds we have won since we started in 1991. Our top marks means you know you’re in good hands.
2022
Top Rated product
2020
Excellent
2022
Top Rated product
Get expert advice on security, privacy, and device performance
See all articles
How to Get Rid of a Virus & Other Malware on Your Computer
Need to remove a computer virus? We’ll show you how to scan for signs and get rid of viruses and malware from your PC, Mac, or laptop.
Read MoreThe Ultimate Guide to Mac Security
Think you’ve got Mac security covered? Learn how to protect your Mac from common threats like viruses, thieves and snoops with our essential safety tips.
Read MoreHow to Fix a Blank or Black Screen on Windows
Learn how to fix black screen of death issues in Windows 10, if it appears on startup, login, or in the middle of working on a critical document.
Read MoreWhat Is a VPN?
Virtual private network (VPN) explained. Learn what a VPN is, why you need one, and how to use it. Then choose the right VPN service.
Why Your Phone Gets Hot and How to Fix It
Is your Android phone getting too hot? Learn why your phone may be heating up, how to cool it down, and how to prevent your phone from overheating.
Read MoreHow to Find and Remove Viruses on Android Phones and iPhones
Learn how to remove viruses from your Android phone and iPhone with our expert guide. Scan and remove mobile malware, then protect against future threats.
Read MoreHow to Unblock Websites & Access Restricted Content
Learn how to unblock a website and bypass restrictions at school, home, and work with this guide — including with a VPN, Tor, and proxy servers.
Read MoreHow to Boost FPS and Optimize Your PC for Gaming
Low FPS and stutter can totally destroy your gaming experience. Find out how to optimize your gaming PC’s performance and increase your FPS.
AVG recommends using
the FREE Chrome™ internet browser.
Download Chrome
- Global Website: Español / Worldwide (English) / Europe (English)
- Argentina: Español
- Australia: English
- België: Nederlands
- Belgique: Français
- Brasil: Português do Brasil
- Canada: English
- Canada: Français
- Česká republika: Čeština
- Chile: Español
- Colombia: Español
- Denmark: English
- Deutschland: Deutsch
- España: Español
- France: Français
- India: English
- Indonesia: Bahasa Indonesia
- Italia: Italiano
- Malaysia: Bahasa Melayu
- México: Español
- Nederland: Nederlands
- New Zealand: English
- Norge: Norsk
- Polska: Polski
- Portugal: Português
- Россия: Русский
- Schweiz: Deutsch
- Slovensko: Slovenčina
- South Africa: English
- Suisse: Français
- Sweden: English
- Türkiye: Türkçe
- United Kingdom: English
- United States: English
- 臺灣: 繁體中文
- 日本: 日本語
- 대한민국: 한국어
Банковский троян использует сервис специальных возможностей Android | Новости
0 |
В июне на Android-устройствах было выявлено на 17,2% меньше угроз по сравнению с маем. Количество вредоносных и рекламных программ снизилось за 17,6 и 19,84% соответственно. При этом число нежелательных приложений выросло на 2,6%, а потенциально опасных – на 14,52%.
Вирусные аналитики «Доктор Веб» обнаружили в каталоге Google Play новые угрозы. Среди них были рекламные трояны семейства Android.HiddenAds, а также многофункциональные вредоносные приложения семейства Android.Joker, которые подписывали пользователей на платные сервисы и могли выполнять произвольный код. Кроме того, злоумышленники распространяли через Google Play нового банковского трояна, использующего функции специальных возможностей Android для установки своего вредоносного компонента.
Наиболее распространенные вредоносные программы июня, согласно статистике антивирусных продуктов Dr.Web для Android:
- Android.HiddenAds.530.origin – троян, предназначенный для показа навязчивой рекламы. Распространяется под видом популярных приложений другими вредоносными программами, которые в некоторых случаях незаметно устанавливают их в системный каталог;
- Android.
DownLoader.906.origin – троян, загружающий другие вредоносные программы и ненужное ПО. Может скрываться во внешне безобидных приложениях, которые распространяются через каталог Google Play или вредоносные сайты;
- Android.RemoteCode.6122, Android.RemoteCode.256.origin – вредоносные программы, которые загружают и выполняют произвольный код. В зависимости от модификации эти трояны могут загружать различные веб-сайты, переходить по ссылкам, нажимать на рекламные баннеры, подписывать пользователей на платные услуги и выполнять другие действия;
- Android.MobiDash.20.origin – троянская программа, показывающая надоедливую рекламу. Представляет собой программный модуль, который разработчики ПО встраивают в приложения.
Наиболее распространенные нежелательные программы июня:
- Program.FreeAndroidSpy.1.origin, Program.Mrecorder.1.origin, Program.Asgard.1.origin – приложения, которые следят за владельцами Android-устройств и могут использоваться для кибершпионажа.
Они могут контролировать местоположение устройств, собирать данные об SMS-переписке, беседах в социальных сетях, копировать документы, фотографии и видео, выполнять прослушивание и т.п.;
- Program.FakeAntiVirus.2.origin – детектирование рекламных программ, которые имитируют работу антивирусного ПО. Такие программы могут сообщать о несуществующих угрозах и вводить пользователей в заблуждение, требуя оплатить покупку полной версии;
- Program.CreditSpy.2 – детектирование программ, предназначенных для присвоения кредитного рейтинга на основании персональных данных пользователей. Такие приложения загружают на удаленный сервер SMS-сообщения, информацию о контактах из телефонной книги, историю вызовов, а также другие сведения;
- Program.RiskMarket.1.origin – магазин приложений, который содержит троянские программы и рекомендует пользователям их установку.
Потенциально опасные программные платформы, которые позволяют приложениям запускать apk-файлы без их установки. Они создают виртуальную среду исполнения, которая не затрагивает основную операционную систему. Tool.SilentInstaller.6.origin, Tool.SilentInstaller.11.origin, Tool.SilentInstaller.13.origin, Tool.SilentInstaller.14.origin, Tool.VirtualApk.1.origin.
Программные модули, встраиваемые в Android-приложения и предназначенные для показа навязчивой рекламы на мобильных устройствах. В зависимости от семейства и модификации они могут демонстрировать рекламу в полноэкранном режиме, блокируя окна других приложений, выводить различные уведомления, создавать ярлыки и загружать веб-сайты. Adware.Adpush.36.origin, Adware.Adpush.6547, Adware.Mobby.5.origin, Adware.Myteam.2.origin, Adware.Toofan.1.origin.
В июне в вирусную базу Dr.Web были добавлены записи для детектирования новых вредоносных программ семейства Android.Joker – Android.Joker.204, Android.Joker.209, Android.Joker.217 и Android.Joker.221. Злоумышленники встроили их в приложения для работы с документами, сборники изображений и мессенджеры.
Эти трояны самостоятельно подписывали пользователей на дорогостоящие мобильные услуги, перехватывая уведомления с ПИН-кодами подтверждения, а также могли загружать и выполнять произвольный код.
Кроме того, в Google Play были обнаружены очередные рекламные трояны семейства Android.HiddenAds, такие как Android.HiddenAds.548.origin и Android.HiddenAds.554.origin. Они распространялись под видом различных игр.
После запуска трояны скрывали свои значки из списка приложений в меню главного экрана и показывали баннеры поверх окон других приложений, мешая нормальной работе с Android-устройствами.
Также вирусные аналитики «Доктор Веб» выявили банковского трояна Android.BankBot.733.origin, которого вирусописатели распространяли под видом приложения для установки системных обновлений и обеспечения защиты мобильных устройств. В действительности этот вредонос незаметно загружал вспомогательный компонент, который затем пытался установить через сервис специальных возможностей (Accessibility Service).
Провідні рішення Transcend для професійних вбудованих рішень
0 |
Предыдущая новость
Slack подает жалобу на Microsoft и требует антимонопольного расследования от ЕС
Следующая новость
Слоистые полупроводники — новый материал для оптоэлектронных приборов следующего поколения
Dr.Web — инновационные антивирусные технологии. Комплексная защита от интернет-угроз.
Для полноценной работы нашего сайта в вашем браузере требуется поддержка JavaScript.
ДЛЯ КЛИЕНТОВ
- Активируйте лицензию Dr.
Web
- Техническая поддержка
- Документация
- Скачать Dr.Web
Закрыть
- Назад
- Дом
- Контактная поддержка
Библиотека
Моя библиотека
Поиск
Поиск
Профиль Icon_rotate180:hidden»/>
RU
RU CN DE RU ЕС Франция ЭТО Япония PL КЗ UA К
white:hidden»> Закрыть
- Дом
- Бизнес
- интернет-магазин
- Скидки
- Скачать
- Поддерживать
- Обучение
- Партнеры
- Информация
- Центр борьбы с кибермошенничеством
- Лицензионный центр
- Клиенты
- Антивирусная лаборатория
- О компании «Доктор Веб»
- Оповещения о вирусах
- Антивирусные времена
- Вопрос дня
- Все выпуски
- Категории
- Коробки новостей
- Пресс-центр
- Контактная информация для прессы
- пресс-кит
- Галерея
© Доктор Веб
2003 — 2023
«Доктор Веб» — компания в области кибербезопасности, специализирующаяся на технологиях обнаружения, предотвращения и реагирования на угрозы
- О компании «Доктор Веб»
- Контактная информация
- Как к нам добраться в Москве
- Офисы компании «Доктор Веб» в других странах
- Пресс-центр
Доктор Веб в социальных сетях
[Фейсбук] [Твиттер] [Инстаграм] [Ютуб]
Связать учетные записи
Для Телеграмм
- Самонесущий
политика конфиденциальности
Ограничения для интерфейсов, отличных от SDK | Разработчики Android
Начиная с Android 9 (уровень API 28), платформа
интерфейсы, которые может использовать ваше приложение. Эти ограничения применяются всякий раз, когда приложение ссылается
интерфейс, не относящийся к SDK, или пытается получить его дескриптор с помощью отражения или JNI.
Эти ограничения были введены, чтобы помочь улучшить работу пользователей и разработчиков.
испытать и снизить риски сбоев для пользователей и аварийных развертываний для
Разработчики. Дополнительные сведения об этом решении см.
Повышение стабильности за счет сокращения использования не-SDK
Интерфейсы.
Различие между интерфейсами SDK и не-SDK
Вообще говоря, общедоступные интерфейсы SDK — это те, которые задокументированы в Указатель пакетов фреймворка Android. Обработка не-SDK интерфейсы — это деталь реализации, которую API абстрагирует, поэтому эти интерфейсы могут быть изменены без предварительного уведомления.
Во избежание сбоев и неожиданного поведения приложения должны использовать только официально
задокументированные части классов в SDK. Это также означает, что вы не должны
получить доступ к методам или полям, которые не указаны в SDK, при взаимодействии с
класс с помощью таких механизмов, как отражение.
Списки API, не относящиеся к SDK
С каждым выпуском Android дополнительные интерфейсы, не относящиеся к SDK, ограничиваются. Мы знаем, что эти ограничения могут повлиять на ваш рабочий процесс выпуска, и мы хотим, чтобы убедитесь, что у вас есть инструменты для обнаружения использования интерфейсов, отличных от SDK, возможность чтобы дать нам обратную связь, и время, чтобы спланировать и приспособиться к новому политики.
Чтобы свести к минимуму влияние ограничений, не связанных с SDK, на рабочий процесс разработки, интерфейсы, не относящиеся к SDK, разделены на списки, которые определяют, насколько плотно они используются ограничено в зависимости от того, какой уровень API является целевым. Следующее таблица описывает каждый из этих списков:
Список | Описание |
---|---|
Черный список ( черный список ) | Интерфейсы, не относящиеся к SDK, которые вы не можете использовать независимо от вашего приложения.![]() |
Условно заблокирован ( greylist-max-x ) | Начиная с Android 9 (уровень API 28), каждый уровень API не содержит SDK интерфейсы, которые ограничены, когда приложение нацелено на этот уровень API. Эти списки помечены максимальным уровнем API
( Если ваше приложение пытается получить доступ к интерфейсу, который ограничен для вашего целевой уровень API, система ведет себя так, как будто API является частью черный список. |
Не поддерживается (серый список ) | Интерфейсы без SDK, которые в настоящее время не ограничены и могут использоваться вашим приложением.
Однако обратите внимание, что эти интерфейсы не поддерживаются и
Может быть изменено без уведомления. Ожидайте, что эти интерфейсы будут
условно заблокирован в будущих версиях Android в max-target-x список. |
SDK ( белый список ) | Интерфейсы, которые можно свободно использовать и которые теперь поддерживаются как часть
официально документированный фреймворк Android
Указатель пакетов.![]() |
Хотя в настоящее время вы можете использовать некоторые интерфейсы, не относящиеся к SDK (в зависимости от целевой уровень API), использование любого метода или поля, не относящегося к SDK, всегда сопряжено с высоким риском. взлома вашего приложения. Если ваше приложение использует интерфейсы, отличные от SDK, вы должны начать планирование перехода на интерфейсы SDK или другие альтернативы. Если вы не можете найти альтернатива использованию интерфейса без SDK для функции в вашем приложении, вы должен запросить новый общедоступный API.
Определить, к какому списку принадлежит интерфейс
Списки интерфейсов, не входящих в SDK, создаются как часть платформы. См. разделы ниже для получения информации о каждом выпуске Android.
Android 14 (предварительная версия для разработчиков)
Для Android 14 можно загрузить следующий файл, описывающий all of the non-SDK interfaces and their corresponding lists:
File: hiddenapi-flags.
csv
SHA-256 checksum: cdd43f463f11ce91786fe94b4e5893dbd5d1b03c784f9e578109daa4d43917ae
Чтобы узнать больше об изменениях в списке API, не относящихся к SDK, в Android 14, см. Обновления ограничений интерфейса, не относящихся к SDK, в Android 14.
Android 13
Для Android 13 (уровень API 33) можно загрузить следующий файл, описывающий all of the non-SDK interfaces and their corresponding lists:
File: hiddenapi-flags.csv
SHA-256 checksum: 233a277aa8ac475b6df61bffd95665d86aac6eb2ad187b90bf42a98f5f2a11a3
To learn more about the non-SDK API list changes in Android 13, включая предлагаемые общедоступные альтернативы API для API, которые условно заблокировано в Android 13, см. раздел Обновления интерфейса без SDK ограничения в Android 13.
Android 12
Для Android 12 (уровень API 31) вы можете загрузить следующий файл, который describes all of the non-SDK interfaces and their corresponding lists:
File: hiddenapi-flags.
csv
SHA-256 checksum: 40674ff4291eb268f86561bf687e69dbd013df9ec9531a460404532a4ac9a761
To learn more about the non-SDK API list changes in Android 12 , включая предлагаемые общедоступные альтернативы API для API, которые условно заблокировано в Android 12, см. Список изменений для Android 12.
Android 11
Для Android 11 (уровень API 30) вы можете загрузить следующий файл, который describes all of the non-SDK interfaces and their corresponding lists:
File: hiddenapi-flags.csv
SHA-256 checksum: a19d839f4f61dc9c94960ae977b2e0f3eb30f880ba1ffe5108e7b477a56
To learn more about the non-SDK API list changes in Android 11 , включая предлагаемые общедоступные альтернативы API для API, которые условно заблокированы в Android 11, см. Список изменений для Android 11.
Android 10
Для Android 10 (уровень API 29) вы можете загрузить следующий файл, который describes all of the non-SDK interfaces and their corresponding lists:
File: hiddenapi-flags.
csv
SHA-256 checksum: f22a59c215e752777a114bd9b07b0b6b4aedfc8e49e6efca0f99681771c5bfeb
To learn more about the non-SDK API list changes in Android 10 , включая предлагаемые общедоступные альтернативы API для API, которые условно заблокированы в Android 10, см. Список изменений для Android 10.
Android 9
Для Android 9 (уровень API 28) следующий текстовый файл содержит список
API-интерфейсы, не относящиеся к SDK, которые не ограничены (внесены в серый список): hiddenapi-light-greylist.txt
.
Черный список ( черный список
) и список условно заблокированных API (темно-серый
list) получаются во время сборки.
Создание списков из AOSP
При работе с AOSP можно создать файл hiddenapi-flags.csv
, который
содержит все интерфейсы, не относящиеся к SDK, и соответствующие им списки. Для этого
скачать исходный код AOSP
а затем выполните следующую команду:
м из/скоро/hiddenapi/hiddenapi-flags.csv
Затем вы можете найти файл в следующем расположении:
out/soong/hiddenapi/hiddenapi-flags.csv
Ожидаемое поведение при доступе к ограниченным интерфейсам, отличным от SDK
В следующей таблице описано поведение, которое вы можете ожидать, если ваше приложение пытается получить доступ к интерфейсу, не относящемуся к SDK, который является частью черного списка.
Средства доступа | Результат |
---|---|
Инструкция Dalvik со ссылкой на поле | NoSuchFieldError брошено |
Инструкция Dalvik со ссылкой на метод | NoSuchMethodError брошено |
Отражение через Class. или Class.getField() | NoSuchFieldException брошено |
Отражение через Class.getDeclaredMethod() , Class.getMethod() | NoSuchMethodException брошено |
Отражение через Class.getDeclaredFields() , Class.getFields() | Не члены SDK отсутствуют в результатах |
Отражение через Class.getDeclaredMethods() , Class.getMethods() | Не члены SDK отсутствуют в результатах |
JNI через env->GetFieldID() | NULL возвращено, NoSuchFieldError брошено |
JNI через env->GetMethodID() | Возвращено NULL , NoSuchMethodError выброшено |
Протестируйте свое приложение на наличие интерфейсов, отличных от SDK
Существует несколько методов, которые можно использовать для проверки интерфейсов, отличных от SDK в
ваше приложение.
Тестирование с использованием отлаживаемого приложения
Вы можете протестировать интерфейсы, отличные от SDK, создав и запустив отлаживаемое приложение на устройстве или эмуляторе под управлением Android 9(уровень API 28) или выше. Убеждаться что используемое вами устройство или эмулятор соответствует целевому уровню API вашего приложения.
При выполнении тестов вашего приложения система печатает сообщение журнала, если приложение получает доступ к определенным интерфейсам, не относящимся к SDK. Вы можете проверить сообщения журнала вашего приложения чтобы найти следующие сведения:
- Класс объявления, имя и тип (в формате, используемом Android время выполнения).
- Способ доступа: либо связывание, либо отражение, либо JNI.
- К какому списку принадлежит интерфейс, не относящийся к SDK.
Вы можете использовать adb logcat
для доступа к этим сообщениям журнала, которые появляются под
PID работающего приложения. Например, запись в журнале может выглядеть следующим образом:
Доступ к скрытому полю Landroid/os/Message;->flags:I (светло-серый список, JNI)
Проверка с использованием StrictMode API
Вы также можете протестировать интерфейсы, не относящиеся к SDK, с помощью StrictMode
API. Использовать обнаружитьNonSdkApiUsage
способ включить это. После включения StrictMode
API вы можете получить
обратный вызов для каждого использования интерфейса, отличного от SDK, с помощью PenalListener
,
где вы можете реализовать пользовательскую обработку. Объект Violation
, предоставленный в
обратный вызов происходит от Throwable
, а прилагаемая трассировка стека обеспечивает
контекст употребления.
Проверка с помощью инструмента Veridex
Вы также можете запустить инструмент статического анализа Veridex для своего APK. Инструмент Veridex сканирует всю кодовую базу APK, включая любые сторонние библиотеки, и сообщает о любых случаях использования не-SDK-интерфейсов, которые он находит.
Ограничения инструмента veridex включают следующее:
- Он не может обнаруживать вызовы через JNI.
- Он может обнаружить только подмножество вызовов посредством отражения.
- Его анализ неактивных путей кода ограничивается проверками на уровне API.
- Его можно запустить только на машинах, поддерживающих инструкции SSE4.2 и POPCNT.
Windows
Собственные двоичные файлы Windows не предоставляются, но вы можете запустить инструмент veridex на
Windows путем выполнения двоичных файлов Linux с использованием подсистемы Windows для Linux.
(ВСЛ). Прежде чем выполнять действия, описанные в этом разделе,
установить WSL
и выберите Ubuntu в качестве дистрибутива Linux.
После установки Ubuntu запустите терминал Ubuntu и выполните следующие действия:
- Загрузите инструмент veridex из репозитория готовых сборок среды выполнения Android.
- Извлеките содержимое файла
appcompat.tar.gz
. - В извлеченной папке найдите файл
veridex-linux.zip
и разархивируйте его. Перейдите к разархивированной папке и выполните следующую команду, где
your-app.apk
— это APK, который вы хотите протестировать:./appcompat.sh --dex-file= ваше-приложение.apk
macOS
Чтобы запустить инструмент veridex в macOS, выполните следующие действия:
- Загрузите инструмент veridex из репозитория готовых сборок среды выполнения Android.
- Извлеките содержимое файла
appcompat.
.tar.gz
- В извлеченной папке найдите файл
veridex-mac.zip
и разархивируйте его. Перейдите к разархивированной папке и выполните следующую команду, где
/path-from-root/your-app.apk
— это путь к APK, который вы хотите протестировать, начиная с корневого каталога вашей системы:./appcompat.sh --dex-file= /path-from-root/your-app.apk
Linux
Чтобы запустить инструмент Veridex в Linux, выполните следующие действия:
- Загрузите инструмент Veridex из репозитория готовых сборок среды выполнения Android.
- Извлеките содержимое файла
appcompat.tar.gz
. - В извлеченной папке найдите файл
veridex-linux.zip
и разархивируйте его. Перейдите к разархивированной папке и выполните следующую команду, где
your-app.
— это APK, который вы хотите протестировать:apk
./appcompat.sh --dex-file= ваше-приложение.apk
Протестируйте с помощью инструмента lint Android Studio
Всякий раз, когда вы создаете приложение в Android Studio, инструмент lint проверяет ваш код на наличие потенциальных проблем. Если ваше приложение использует интерфейсы, отличные от SDK, вы можете увидеть ошибки сборки или предупреждения, в зависимости от того, какой список эти интерфейсы принадлежат.
Вы также можете запустить инструмент lint из командной строки или запускать проверки вручную на определенного проекта, папки или файла.
Тестирование с помощью Play Console
Когда вы загружаете свое приложение в тестовую версию
в Play Console ваше приложение автоматически проверяется на возможные проблемы и
формируется предстартовый отчет. Если ваше приложение использует интерфейсы, отличные от SDK, ошибка или
предупреждение отображается в предзапусковом отчете, в зависимости от того, какой список
эти интерфейсы принадлежат.
Дополнительные сведения см. в разделе «Совместимость с Android» в Используйте предварительные отчеты для выявления проблем.
Запросить новый общедоступный API
Если вы не можете найти альтернативу использованию интерфейса без SDK для функции в вашего приложения, вы можете запросить новый общедоступный API, создав запрос функции в нашем трекере задач.
При создании запроса функции предоставьте следующую информацию:
- Какой неподдерживаемый API вы используете в настоящее время, включая полный дескриптор
видно в сообщении
Accessing hidden...
logcat. - Почему вам нужно использовать эти API, включая сведения о функции высокого уровня
для чего нужен API, а не только детали низкого уровня.
- Почему каких-либо связанных общедоступных API-интерфейсов SDK недостаточно для ваших целей.
- Любые другие альтернативы, которые вы пробовали, и почему они не сработали.
Когда вы указываете эти данные в своем запросе функции, вы увеличиваете вероятность того, что будет предоставлен новый общедоступный API.
Другие вопросы
В этом разделе приведены некоторые ответы на другие вопросы разработчиков часто задаваемые вопросы:
Общие вопросы
Как Google может быть уверен, что они будут учитывать потребности всех приложений через средство отслеживания проблем?
Мы создали исходные списки для Android 9 (уровень API 28) с помощью статического анализ приложений, дополненный следующими методами:
- ручное тестирование топовых приложений Play и не-Play
- внутренние отчеты
- автоматический сбор данных от внутренних пользователей
- отчеты о предварительном просмотре для разработчиков
- дополнительный статический анализ, который был разработан, чтобы консервативно включить больше ложные срабатывания
При оценке списков для каждого нового выпуска мы учитываем использование API как
а также отзывы разработчиков через систему отслеживания проблем.
Как разрешить доступ к интерфейсам, не относящимся к SDK?
Вы можете включить доступ к интерфейсам, не относящимся к SDK, на устройствах разработки с помощью adb команды для изменения политики применения API. Команды, которые вы используете, различаются, в зависимости от уровня API. Эти команды не требуют рутированного устройства.
- Android 10 (уровень API 29) или выше
Чтобы включить доступ, используйте следующую команду adb:
настройки оболочки adb поставить global hidden_api_policy 1
Чтобы сбросить политику применения API к настройкам по умолчанию, используйте следующую команду. команда:
настройки оболочки adb удалить глобальную hidden_api_policy
- Android 9 (уровень API 28)
Чтобы включить доступ, используйте следующие команды adb:
настройки оболочки adb ставят глобальные hidden_api_policy_pre_p_apps 1
настройки оболочки adb поставить global hidden_api_policy_p_apps 1
Чтобы сбросить политику применения API к настройкам по умолчанию, используйте следующую команду.
команды:
настройки оболочки adb удаляют глобальные hidden_api_policy_pre_p_apps
настройки оболочки adb удалить глобальные hidden_api_policy_p_apps
Целое число в политике принудительного применения API можно задать одним из следующих значения:
- 0: отключить обнаружение всех интерфейсов, отличных от SDK. Использование этого параметра отключает
все сообщения журнала для использования интерфейса, отличного от SDK, и не позволяет вам тестировать
приложение с помощью API
StrictMode
. Этот параметр не рекомендуемые. - 1: разрешить доступ ко всем интерфейсам, не относящимся к SDK, но печатать сообщения журнала с
предупреждения для любого использования интерфейса, отличного от SDK. Использование этого параметра также позволяет
протестируйте свое приложение с помощью API
StrictMode
. - 2: запретить использование интерфейсов, отличных от SDK, которые принадлежат черному списку или
условно заблокирован для вашего целевого уровня API.
Вопросы о списках интерфейсов, не относящихся к SDK
Где я могу найти списки API, не относящиеся к SDK, в образе системы?
Они закодированы в битах флага доступа к полю и методу в файлах dex платформы. В образе системы нет отдельного файла, содержащего эти списки.
Одинаковы ли списки API, не входящие в SDK, на разных OEM-устройствах с одинаковыми версиями Android?
OEM-производители могут добавлять собственные интерфейсы в черный список (черный список), но не могут удалить интерфейсы из списков API AOSP, не входящих в SDK. CDD предотвращает такие изменения и тесты CTS гарантируют, что среда выполнения Android применяет список.
Есть ли какие-либо ограничения для интерфейсов, отличных от NDK, в собственном коде?
Android SDK включает интерфейсы Java. Платформа начала ограничивать
доступ к интерфейсам, отличным от NDK, для собственного кода C/C++ в Android 7 (уровень API 26).
Дополнительные сведения см. в разделе Повышение стабильности с помощью ограничений частных символов C/C++ в Android N.
Планируется ли ограничение манипуляций с файлами dex2oat или DEX?
У нас нет активных планов по ограничению доступа к двоичному файлу dex2oat, но мы не предназначен для того, чтобы формат файла DEX был стабильным или общедоступным интерфейсом за пределами части, которые публично указаны в формате исполняемого файла Dalvik. Мы оставляем за собой право изменять или удалять dex2oat и неуказанные части. формата DEX в любое время. Также обратите внимание, что производные файлы, созданные dex2oat такие как ODEX (также известный как OAT), VDEX и CDEX являются неуказанными форматами.
Что делать, если важный сторонний SDK (например, обфускатор) не может избежать использования интерфейсов, отличных от SDK, но обязуется поддерживать совместимость с будущими версиями Android? Может ли Android отказаться от своих требований совместимости в этом случае?
Мы не планируем отказываться от требований совместимости для каждого SDK. Если
В настоящее время разработчик SDK может поддерживать совместимость только в зависимости от
интерфейсы в неподдерживаемых (ранее серых) списках, они должны начать планировать
переход на интерфейсы SDK или другие альтернативы и запросить новый общедоступный
API всякий раз, когда они не могут найти альтернативу использованию
интерфейс без SDK.
Применяются ли ограничения интерфейса, не связанные с SDK, ко всем приложениям, включая системные и собственные приложения, а не только к сторонним приложениям?
Да, однако мы исключаем приложения, подписанные с помощью ключа платформы и некоторого образа системы.
Программы. Обратите внимание, что эти исключения применяются только к приложениям, которые являются частью системы.
изображение (или обновленные приложения образа системы). Список предназначен только для приложений, которые
строить с использованием API частной платформы, а не API SDK (где LOCAL_PRIVATE_PLATFORM_APIS := true
).
Ваш комментарий будет первым