ΠΠ΄Π½Π° Π²ΡΠ»Π° ΠΈ Π²Π΅ΡΠ΅ Π΄ΠΎΡΡΠ° ΡΠΊΡΡΠ½Π° Π²Π΅ΡΠ΅Ρ, Π°Π·, ΡΠ°Π·Π»ΠΈΡΡΠ²Π°ΠΉΠΊΠΈ ΠΎΡΠΈΡΠΈΠ°Π»Π΅Π½ ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Habr, Π·Π° ΠΏΠΎΡΠ΅Π΄Π΅Π½ ΠΏΡΡ ΡΠ²ΠΈΡ ΠΏΡΡΡΡΠΈ, ΠΏΠΎ Π΅Π΄ΠΈΠ½ Π·Π° Π²ΡΡΠΊΠ° Π½Π΅ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΡ. Π’ΡΠΊ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°ΡΠ΅, ΡΡΠΊ Π²ΠΈ ΠΎΡΠΊΠ°Π·Π²Π°Ρ Π΄Π° Π³Π»Π°ΡΡΠ²Π°ΡΠ΅ ΠΈ Π²ΡΠΎΠ±ΡΠ΅ Π·Π°ΡΠΎ ΡΠΎΡΠΌΡΠ»ΠΈΡΠ΅ Π½Π΅ ΡΠ΅ Π²ΠΈΠΆΠ΄Π°Ρ Π½Π° Π΅ΠΊΡΠ°Π½Π°?
ΠΠ΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΎ: ΠΈΠΌΠ°Ρ
ΠΌΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π½Π΅ΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, ΠΏΡΠΈΡΡΠ½ΠΎ, Π½Π΅ΡΠΎ Π½Π°ΡΠ΅. ΠΠ°ΠΊΠ²ΠΎ ΡΠ΅ ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π·Π° Π²Π°ΡΠ΅ΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Habr?
ΠΠ΅ΠΊΠ° Π²ΠΈ Π΄Π°ΠΌ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΅ΠΊΡΠ°Π½Π½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ, Π·Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡΡΠ°.
ΠΠ·Π³Π»Π΅ΠΆΠ΄Π° Π½Π΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΎΠ·ΠΈ - Π½Π°. ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ habr.com
Π‘ΠΏΠΈΡΡΠΊ Ρ "Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²Π°"
- ΠΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠ΅Π½ΡΠ²Π°ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ, ΡΠΈΡΡΠΎ ΠΎΡΠ΅Π½ΠΊΠ° Π΅ ΡΠ°Π·Π»ΠΈΡΠ½Π° ΠΎΡ 0
- ΠΠ΅ Π²ΠΈΠ½Π°Π³ΠΈ Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ΅Π½ΡΠ°Ρ
- ΠΠ½ΠΊΠ΅ΡΠΈΡΠ΅ Π½Π΅ ΡΠ°Π±ΠΎΡΡΡ
- Π€ΠΎΡΠΌΡΠ»ΠΈΡΠ΅ Π½Π΅ ΡΠ΅ Π²ΠΈΠΆΠ΄Π°Ρ Π² ΡΡΠΌΠ½Π° ΡΠ΅ΠΌΠ° (ΡΠ΅ΡΠ½ΠΎ Π²ΡΡΡ Ρ ΡΠ΅ΡΠ½ΠΎ)
- ΠΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΎΡΠΌΠ΅ΡΠΊΠΈ ΡΠ° Π½Π°Π»ΠΈΡΠ½ΠΈ
ΠΠ°, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π΅ Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΎ ΠΎΡ Π°Π²Π³ΡΡΡ ΠΌΠΈΠ½Π°Π»Π°ΡΠ° Π³ΠΎΠ΄ΠΈΠ½Π°, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π΅ Π»ΠΎΡΠΎ. ΠΠ°ΡΠΎ ΡΡΠ»ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΠΎΠΏΡΠ°Π²ΠΈ.
Π§Π°ΡΡ ΠΏΡΡΠ²Π°. Π’ΡΡΡΡ Π΄ΠΎΡΡΡΠΏ.
ΠΡΡΠ·Π° Π·Π°ΡΠ²ΠΊΠ° Π² Google "habrahabr API" ΠΏΠΈΡΠ΅, ΡΠ΅ Π²Π΅ΡΠ΅ Π΅ Π΄ΠΎΡΡΠ° ΠΎΡΡΠ°ΡΡΠ»ΠΎ
ΠΡΠ΅Π½Π΅Π±ΡΠ΅Π³Π²Π°ΠΉΠΊΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠΎΠ²Π° Π΅ PHP, ΠΏΡΠ΅Π²ΡΡΡΠ΅ΡΠ΅ Π½Π°Π΄ΠΎΠ»Ρ ΠΈ ΠΏΡΠΎΡΠ΅ΡΠ΅ΡΠ΅:
ΠΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ID Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ
ΠΡΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΡΠ΅
ΡΠ°Π·ΠΈ ΡΠΎΡΠΌΠ° Π½Π° Habrahabr, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠΏΠΈΡΠ΅ΡΠ΅ Π½Π°ΠΊΡΠ°ΡΠΊΠΎ ΡΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½ΠΎΠ²ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅Π»ΡΠ°, Π·Π° ΠΊΠΎΡΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ ΠΎΡ API.
ΠΡΠΌΠ° ΡΡΠΌΠ½Π΅Π½ΠΈΠ΅, ΡΠ΅ Π°ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ, Π·Π½Π°ΡΠΈ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π½Π΅Π³ΠΎ. ΠΠΈΡΠ΅ΠΌ ΠΏΠΈΡΠΌΠΎ (ΡΡΠΊΡΠ°ΡΠ΅Π½ΠΎ):
ΠΏΠΈΡΠΌΠΎ
ΠΠΌΠ° ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Π΄Π° ΡΠ΅ Π½Π°ΠΏΡΠ°Π²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Habr, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° PWA. ΠΡΠΈΡΠΈΠ½ΠΈΡΠ΅ Π·Π° ΡΠΎΠ²Π° ΡΠ° Π½ΡΠΊΠΎΠ»ΠΊΠΎ.
ΠΡΡΠ²ΠΈΡΡ ΠΈ Π½Π°ΠΉ-ΠΎΡΠ΅Π²ΠΈΠ΄Π΅Π½: ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° Android Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΌΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ.
ΠΡΠΎΡΠΎ: Π½ΡΠΌΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΠΎΠ΄Π½ΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π·Π° Π²ΡΡΠΊΠ°ΠΊΠ²ΠΈ Π½Π΅ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ΄Π²Π°Ρ ΠΏΠΎ ΠΈΠΌΠ΅ΠΉΠ» (ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ).
Π’ΡΠ΅ΡΠΎ: Π»ΠΈΡΠ½ΠΈ Π΄Π°ΠΉΠ΄ΠΆΠ΅ΡΡΠΈ (ΠΊΠ°ΡΠΎ Π³Π»Π΅Π΄Π½Π° ΡΠΎΡΠΊΠ°) Π·Π° Ρ ΠΎΡΠ°/Ρ ΡΠ±ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΌΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ²Π°Ρ, ΠΊΠ°ΡΠΎ ΡΠ΅ Π²Π·Π΅ΠΌΠ°Ρ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΠΌΠΎΠΈΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΈ.
ΠΡΠ³ΠΎΠ²ΠΎΡΡΡ, ΡΠ°Π·Π±ΠΈΡΠ° ΡΠ΅, Π½Π΅ Π±Π΅ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΡΠ΅Π½, Π½ΠΎ ΠΏΠΎΠ½Π΅ ΡΠ΅ΡΡΠ΅Π½:
ΠΠ° ΡΡΠΆΠ°Π»Π΅Π½ΠΈΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π½ΡΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π½Π°ΡΠΈΡ API. ΠΠ»Π°Π½ΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π²ΡΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ Π½Π° Π΄ΠΎΡΡΡΠΏ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΡΠΈΠΊΠ»ΡΡΠΈΠΌ Ρ ΡΠΈΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° API, Π½ΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½ΡΠΌΠ°ΠΌΠ΅ ΡΠΎΡΠ½ΠΈ Π΄Π°ΡΠΈ, Ρ.ΠΊ. Π ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΌΠ΅ Π·Π°Π΅ΡΠΈ Ρ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΡΡΠ³ΠΈ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΈ Π·Π°Π΄Π°ΡΠΈ.
"ΠΠΎΠ±ΡΠ΅ Π½ΡΠΌΠ° ΠΏΡΠΎΠ±Π»Π΅ΠΌ! Π©Π΅ ΠΈΠ·ΠΌΠΈΡΠ»ΠΈΠΌ Π½Π΅ΡΠΎ!" β ΠΊΠ°Π·Π°Ρ ΡΠΈ ΠΈ Π·Π°ΠΏΠΎΡΠ½Π°Ρ Π΄Π° ΡΡΡΡΡ.
Π§Π°ΡΡ Π΄Π²Π΅. ΠΡΠ»Π±ΠΎΠΊΠΈ ΠΈΠ·ΠΊΠΎΠΏΠΈ.
ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°ΡΠ°, Π°ΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ, ΡΠΎΠ³Π°Π²Π° ΡΠΎ ΠΈΠΌΠ° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ API ΠΈ Π΅ ΡΠ²ΡΡΠ·Π°Π½ΠΎ ΠΊΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. ΠΠ° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅.
Π’ΡΠΉ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΠΌΠ΅ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΡΠ°ΡΠΈΠΊ, Wireshark Π΅ Π½Π°ΡΠΈΡΡ ΠΈΠ·Π±ΠΎΡ. ΠΠ΅ Π±Π΅Π· ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ Π±ΠΎΠ»ΠΊΠΈ, ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΡΠ²ΡΡΠ·Π°Ρ ΠΌΠ΅ ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΠΊΡΠΌ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΡΡΠ΅Π· Π½Π°ΡΡΠΎΠ»Π΅Π½ ΠΊΠΎΠΌΠΏΡΡΡΡ, ΠΎΡΠ²Π°ΡΡΠΌΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅:
Π―ΡΠ½ΠΎ, ΡΠ΅ Π½ΠΈΡΠΎ Π½Π΅ Π΅ ΡΡΠ½ΠΎ
ΠΠ°, Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΎ, Π½ΠΎ Π½Π΅ ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠ΅ Π·Π°Π±ΡΡΠΊΠ²Π°ΠΌ Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΡΠ°. Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΡΠ΅ Π²ΡΡΡΠ΅ Π² ΡΠ°ΠΌΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ . Apk, Π½Π΅ΠΊΠ° Π·Π°ΠΏΠΎΡΠ½Π΅ΠΌ Π΄Π° ΡΡΡΡΠΈΠΌ. ΠΡ ΠΊΠ°ΠΊΠ²ΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ Π²ΡΠ΅ΠΊΠΈ API? ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΊΡΠ°ΠΉΠ½Π° ΡΠΎΡΠΊΠ°, ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ ΠΎΡΠΈΠ²Π°Ρ Π²ΡΠΈΡΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ. Π’ΠΎΠ²Π° Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π΅ http(s), Π½Π΅ΠΊΠ° ΡΠ΅ ΠΎΠΏΠΈΡΠ°ΠΌΠ΅ Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΠΌ βhttps://β:
ΠΡΠ² ΡΠ°ΠΉΠ»Π° AuthLinkManager.smali
Π½Π°ΠΌΠΈΡΠ°ΠΌ
.field OAUTH:Ljava/lang/String; = "https://habrahabr.ru/auth/o/%s/"
.field OAUTH_PARAMS:Ljava/lang/String; = "?client_id=%s&response_type=token&redirect_uri=%s"
.field OAUTH_REDIRECT_URL:Ljava/lang/String; = "http://cleverpumpkin.ru"
Π’ΠΎΠ²Π° Π΅ ΠΊΠΎΠ΄ΡΡ Π·Π° Π²ΠΈΡΡΡΠ°Π»Π½Π°ΡΠ° ΠΌΠ°ΡΠΈΠ½Π° Π½Π° Android (ΠΠ°Π»Π²ΠΈΠΊ Π.Π.), Π½Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΠΎ Π·Π° Ρ
ΠΎΡΠ°ΡΠ°, Π½ΠΎ Π²ΡΠ΅ ΠΏΠ°ΠΊ Π΄ΠΎΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ²Π½ΠΎ. Π’Π΅Π·ΠΈ ΡΡΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠΈ, ΡΡΠ΄Π΅ΠΉΠΊΠΈ ΠΏΠΎ ΡΡΡ
Π½ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΠΈ ΠΈΠΌΠ΅, ΠΊΠ°ΠΊΡΠΎ ΠΈ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° GitHub, ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° Π·Π°ΡΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΎΠΊΠ΅Π½ Π·Π° Π΄ΠΎΡΡΡΠΏ ΡΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Π° GET
.
ΠΠ° ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌ ΠΏΠΎ-Π½Π°ΡΠ°ΡΡΠΊ. Π€Π°ΠΉΠ»ΡΡ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΏΠΎΡΠ²ΡΠ²Π° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡΡ ΠΏΡΠΈ ΡΡΡΡΠ΅Π½Π΅ΡΠΎ, Π΅ NetworkModule.smali
:
const-string v0, "https://habr.com/api/v1/"
Π ΡΡΠΊ Π΅ ΠΌΡΡΡΠΎΡΠΎ, ΠΊΡΠ΄Π΅ΡΠΎ Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Ρ Π²Π°ΡΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ!
ΠΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ ΡΠ°ΠΌΠΎΠ½Π°ΠΏΠΈΡΠ°Π½ΠΈΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΠΎΡΡΠ°Π²Π° ΡΠ°ΠΌΠΎ Π΅Π΄Π½ΠΎ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅ - client_id
, ΠΊΠΎΠ΅ΡΠΎ Π½Π°ΠΉ-Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π΅ ΡΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
Π’ΡΡΡΠ΅Π½Π΅ΡΠΎ Π½Π° ΡΠΎΠ·ΠΈ ΡΠ΅ΠΊΡΡ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ ΠΎΠ±Π°ΡΠ΅ Π½Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ...
ΠΠΎ ΠΈΠ·Π²Π΅Π΄Π½ΡΠΆ Π² Π΅Π΄ΠΈΠ½ ΠΎΡ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΎΡΠΈΡΠ΅ ΠΌΠΈ Ρ Π²Π°Π½Π°Ρ Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΈ ΡΠ΅Π΄Π°:
const-string p8, "log-tag"
invoke-static {p8, p2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
Π’ΠΎΠ²Π°, ΠΊΠ°ΠΊΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ΅ΡΠ΅, Π΅ Π·Π°ΠΏΠΈΡ Π² Π΄Π½Π΅Π²Π½ΠΈΠΊΠ°. ΠΠΎ Π·Π°ΠΏΠΈΡ Π½Π° ΠΊΠ°ΠΊΠ²ΠΎ?
Π§Π°ΡΡ ΡΡΠ΅ΡΠ°. Π’ΠΎΠ²Π° ΡΠ° ΡΡΡΠΏΠΈΡΠ΅!
ΡΠΏΠΎΡΡΠ΅Π±Π° adb logcat
Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ.
ΠΠ΅ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ Π΄Π½Π΅Π²Π½ΠΈΡΠΈΡΠ΅ ΡΠ΅ ΠΎΠΊΠ°Π·Π°Ρ Π° Π΄ΠΎΡΠΈ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΈ ΠΎΡ ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎΡΠΎ.
Π’ΡΠΊ ΠΈΠΌΠ°ΠΌΠ΅ Π½Π΅ ΡΠ°ΠΌΠΎ ΡΠΎΠ²Π°, ΠΎΡ ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ client_id
Π½ΠΎ ΠΆΠ΅ΡΠΎΠ½ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»/ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΡ
ΠΎΠ΄ ΠΈ ΠΏΠ°ΡΠΎΠ»Π° Π² ΡΠΈΡΡ ΡΠ΅ΠΊΡΡ!
ΠΡΠΊΠΎΠΈ ΡΠ΅ΠΎΡΠΈΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΏΠΈΡΠ°ΡΠΈΡΡΠ°Π‘Π°ΠΌΠΎΡΠΎ ΠΏΡΠΈΡΡΡΡΠ²ΠΈΠ΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎ ΠΈΠΌΠ΅ ΠΈ ΠΏΠ°ΡΠΎΠ»Π° Π² ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π΅ Π²ΡΠ΅Π΄ΠΈ Π½Π° Π½ΠΈΡΠΎ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΠ΅Π·ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠ°Ρ ΡΠ°ΠΌΠΎ Ρ root ΠΏΡΠ°Π²Π° ΠΈΠ»ΠΈ Π²ΡΡΠ·ΠΊΠ° ΡΡΠ΅Π· adb
. ΠΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΡΠ΅Π΄ Ρ
ΠΎΡΠ°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΠ°Ρ Habr, ΠΈΠΌΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° Android, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΡΠΎΠ²Π° ΡΠ΅ ΠΏΡΠ΅Π²ΡΡΡΠ° Π² ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ βΠ±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎΡΠΎ ΡΠ°ΠΊΡΡΠ²Π°Π½Π΅β Π½Π° Π»Π΅ΡΠΈΡΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ ΠΊΡΠ°ΠΆΠ±Π° Π½Π° Π°ΠΊΠ°ΡΠ½Ρ, Π½ΠΎ ΠΊΠΎΠΌΡ Π΅ Π½ΡΠΆΠ½ΠΎ?
ΠΡ ΡΠ΅Π·ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·Π²Π»Π΅ΡΠ΅ΠΌ:
client_id
ΠΈapikey
Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π΄ΠΎΡΡΡΠΏ API;- URL Π°Π΄ΡΠ΅Ρ Π·Π° ΡΠΏΡΠ»Π½ΠΎΠΌΠΎΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» (ΡΡΡΠ°Π½Π½ΠΎ, Π½ΠΎ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½ΡΠΌΠ° Π½ΠΈΡΠΎ Π·Π° ΡΠΎΠ·ΠΈ ΠΌΠ΅ΡΠΎΠ΄, ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π½Π΅ Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½?)
Π’Π°ΠΊΠ° ΠΈ ΡΡΠ°Π½Π°. ΠΠ° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠΎΠ²Π° ΠΌΠ°Π»ΠΊΠΎ ΠΏΡΠΎΡΡΠ²Π°Π½Π΅ Π²Π΅ΡΠ΅ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΠΎ ΠΌΠ°Π»ΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡ - ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠΎΠ»Ρ ΡΠ΅Π·ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°Ρ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ, Π΄Π° Π½Π°ΠΏΠΈΡΠ°Ρ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ - Π΄Π° Π³Π»Π°ΡΡΠ²Π°Ρ (Π·Π°ΡΠΎΡΠΎ ΠΈΡΠΊΠ°ΠΌ Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ° Π΄Π°Π»ΠΈ Π½ΡΠΊΠΎΠΉ ΠΈΠΌΠ° Π½ΡΠΆΠ΄Π° ΠΎΡ ΡΠΎΠ²Π°).
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅!
Π Π°Π½ΠΊΠ΅ΡΠ°ΡΠ° ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΠ°ΡΡΠ²Π°Ρ ΡΠ°ΠΌΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π»ΠΈ ΠΌΠΎΠ±ΠΈΠ»Π½ΠΎΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Habr?
-
ΠΠ°, ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π³ΠΎ, Π΄ΠΎΠ²ΠΎΠ»Π΅Π½ ΡΡΠΌ
-
ΠΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Π³ΠΎ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ
-
ΠΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ ΡΠ΅Π± Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π° ΡΠΈ
-
ΠΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Habr ΠΎΡ ΠΌΠΎΡ ΠΊΠΎΠΌΠΏΡΡΡΡ
357 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π³Π»Π°ΡΡΠ²Π°Ρ
Π°. 30 ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΡΠ΅ Π²ΡΠ·Π΄ΡΡΠΆΠ°Ρ
Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com