{"id":275525,"date":"2016-03-04T18:14:02","date_gmt":"2016-03-04T15:14:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=275525"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=275525","title":{"rendered":"\u0421\u0431\u043e\u0440\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 FreeType \u0434\u043b\u044f Android x86 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c NDK"},"content":{"rendered":"<p>       FreeType \u2013 \u044d\u0442\u043e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0448\u0440\u0438\u0444\u0442\u0430\u043c\u0438. \u041e\u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 ANSI C \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u0412 Android, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. \u041d\u043e \u0443 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0445 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0435\u0442 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0435\u0439 \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, FreeType \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0439 \u0432\u0430\u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0435\u0451 \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b x86, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 <a href=\"http:\/\/developer.android.com\/tools\/sdk\/ndk\/index.html\">NDK<\/a>. <br \/>  <a href=\"https:\/\/habrahabr.ru\/company\/intel\/blog\/278603\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/2e0\/6e4\/307\/2e06e43077d24682a2bd0144f2a1f442.png\" \/><\/div>\n<p><\/a><a name=\"habracut\"><\/a><br \/>  NDK, \u043f\u043e\u043c\u0438\u043c\u043e \u0441\u0431\u043e\u0440\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f Android, \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u0435\u0433\u043e \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 C \u0438 C++, \u043e\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0442\u0430\u043a\u0438\u0445, \u043a\u0430\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 build-\u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. <\/p>\n<p>  \u0421\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f Android \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0431\u043e\u0440\u043a\u0438 NDK. \u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u2013 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u043a\u0440\u043e\u0441\u0441-\u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0446\u0438\u0438 \u0438\u0437 Cygwin \u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 NDK.<\/p>\n<p>  <a href=\"https:\/\/software.intel.com\/en-us\/blogs\/2015\/06\/26\/building-android-middleware-libraries-for-x86-devices-using-the-android-ndk\">\u0417\u0434\u0435\u0441\u044c<\/a> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a \u0434\u043b\u044f Android, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 x86. \u0410 \u0432 \u044d\u0442\u043e\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f IDE <a href=\"https:\/\/eclipse.org\/\">Eclipse<\/a>, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e NDK-\u0441\u0431\u043e\u0440\u043a\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 FreeType.<\/p>\n<h2><font color=\"#0071c5\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0438 \u0441\u0431\u043e\u0440\u043a\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438<\/font><\/h2>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432 Eclipse \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043d\u0435\u0433\u043e \u043f\u0430\u043f\u043a\u0443 jni. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/bf5\/f6a\/55c\/bf5f6a55c01f3f458049b233ae6e54b4.gif\" \/><\/div>\n<p>  <i><font color=\"#999999\">\u041f\u0430\u043f\u043a\u0430 jni \u0432 \u043d\u043e\u0432\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/font><\/i><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u043c \u0430\u0440\u0445\u0438\u0432 \u0441 \u043a\u043e\u0434\u043e\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 <a href=\"http:\/\/sourceforge.net\/projects\/freetype\/files\/freetype2\">FreeType<\/a>. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e \u0432\u0435\u0440\u0441\u0438\u044f 2.6. \u0420\u0430\u0441\u043f\u0430\u043a\u0443\u0435\u043c \u0430\u0440\u0445\u0438\u0432 \u0432 \u043f\u0430\u043f\u043a\u0443 jni. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/f93\/c1b\/f4c\/f93c1bf4c21121db8569e1693f388a55.png\" \/><\/div>\n<p>  <i><font color=\"#999999\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 FreeType \u0432 \u043f\u0430\u043f\u043a\u0435 jni<\/font><\/i><\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u044b Android.mk \u0438 Application.mk. \u042d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0440\u0430\u0441\u043f\u043e\u043b\u0430\u0433\u0430\u0442\u044c\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 jni. Adroid.mk \u2013 \u044d\u0442\u043e makefile GNU, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0431\u043e\u0440\u043a\u0438. \u0412 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u043e \u0444\u0430\u0439\u043b\u0430\u0445 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u0445. <\/p>\n<p>  <a href=\"https:\/\/developer.android.com\/ndk\/guides\/android_mk.html\">\u0417\u0434\u0435\u0441\u044c<\/a> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0435 Android.mk \u0438 \u043e\u0431 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044f\u0445 \u0441\u0431\u043e\u0440\u043a\u0438 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 C \u0438 C++. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432 \u043f\u0430\u043f\u043a\u0435 jni, \u043e\u043d \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u0430\u043d \u043d\u0430 \u0441\u0431\u043e\u0440\u043a\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 FreeType \u0441\u043e \u0432\u0441\u0435\u043c\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c\u0438 \u0435\u0439 \u0444\u043e\u0440\u043c\u0430\u0442\u0430\u043c\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432. <\/p>\n<p>  <i>\u0424\u0430\u0439\u043b Android.mk<\/i><\/p>\n<pre><code>LOCAL_PATH := $(call my-dir)  include $(CLEAR_VARS)  FREETYPE_SRC_PATH :=  LOCAL_MODULE := freetype  LOCAL_CFLAGS := -DANDROID_NDK \\ \u00a0\u00a0-DFT2_BUILD_LIBRARY=1  LOCAL_C_INCLUDES := $(LOCAL_PATH)\/include_all \\ \u00a0\u00a0$(FREETYPE_SRC_PATH)include \\ \u00a0\u00a0$(FREETYPE_SRC_PATH)src  LOCAL_SRC_FILES := \\ \u00a0$(FREETYPE_SRC_PATH)src\/autofit\/autofit.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/basepic.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftapi.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftbase.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftbbox.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftbitmap.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftdbgmem.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftdebug.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftglyph.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftinit.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftpic.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftstroke.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftsynth.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/base\/ftsystem.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/cff\/cff.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pshinter\/pshinter.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pshinter\/pshglob.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pshinter\/pshpic.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pshinter\/pshrec.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/psnames\/psnames.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/psnames\/pspic.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/raster\/raster.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/raster\/rastpic.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/pngshim.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/sfntpic.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/ttbdf.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/ttkern.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/ttload.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/ttmtx.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/ttpost.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/ttsbit.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/sfobjs.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/ttcmap.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/sfnt\/sfdriver.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/smooth\/smooth.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/smooth\/ftspic.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/truetype\/truetype.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type1\/t1driver.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/cid\/cidgload.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/cid\/cidload.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/cid\/cidobjs.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/cid\/cidparse.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/cid\/cidriver.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pfr\/pfr.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pfr\/pfrgload.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pfr\/pfrload.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pfr\/pfrobjs.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pfr\/pfrsbit.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type42\/t42objs.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type42\/t42parse.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type42\/type42.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/winfonts\/winfnt.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pcf\/pcfread.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pcf\/pcfutil.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/pcf\/pcfdrivr.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/psaux\/afmparse.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/psaux\/psaux.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/psaux\/psconv.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/psaux\/psobjs.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/psaux\/t1decode.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/tools\/apinames.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type1\/t1afm.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type1\/t1gload.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type1\/t1load.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type1\/t1objs.c \\ \u00a0$(FREETYPE_SRC_PATH)src\/type1\/t1parse.c\\ \u00a0$(FREETYPE_SRC_PATH)src\/bdf\/bdfdrivr.c\\ \u00a0$(FREETYPE_SRC_PATH)src\/bdf\/bdflib.c\\ \u00a0$(FREETYPE_SRC_PATH)src\/gzip\/ftgzip.c\\ \u00a0$(FREETYPE_SRC_PATH)src\/lzw\/ftlzw.c \\   LOCAL_LDLIBS := -ldl -llog  include $(BUILD_SHARED_LIBRARY)<\/code><\/pre>\n<p>  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441\u0431\u043e\u0440\u043a\u0438 NDK \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b armeabi. \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0443 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b Intel, \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0444\u0430\u0439\u043b Application.mk, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u0432 \u0442\u043e\u0439 \u0436\u0435 \u043f\u0430\u043f\u043a\u0435 jni. \u0410 \u0438\u043c\u0435\u043d\u043d\u043e \u2013 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u00abx86\u00bb \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e APP_ABI. \u0421\u0431\u043e\u0440\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0438\u0445 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b.<\/p>\n<p>  \u0412\u043e\u0442, \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f APP_ABI, \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u0430\u044f \u043d\u0430 \u0434\u0432\u0435 \u0446\u0435\u043b\u0435\u0432\u044b\u0435 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b.<\/p>\n<pre><code>APP_ABI := armeabi-v7a x86 #\u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b: x86_64, armeabi, arm64-v8a, mips, mips64<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0448\u0438\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0439, \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0430\u043a\u0438\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438:<\/p>\n<pre><code>APP_ABI := all # \u0434\u0440\u0443\u0433\u0438\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b all32 \u0438\u043b\u0438 all64<\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f APP_PLATFORM \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0446\u0435\u043b\u0435\u0432\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android. \u041d\u0430\u0448 Application.mk \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u043c:<\/p>\n<pre><code>APP_ABI :=all APP_PLATFORM := android-20<\/code><\/pre>\n<p>  \u0412\u043e\u0442, \u043a\u0430\u043a \u043e\u043d \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0432 \u0440\u0435\u0434\u0430\u043a\u0442\u043e\u0440\u0435 \u043a\u043e\u0434\u0430.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/db5\/bd6\/345\/db5bd6345bc6f618ed7203e6a7bce550.gif\" \/><\/div>\n<p>  <i><font color=\"#999999\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 APP_ABI \u0432 \u0444\u0430\u0439\u043b\u0435 Application.mk<\/font><\/i><\/p>\n<p>  \u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u0430, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c NDK. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e, \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u043e\u0432 (Builders) \u0434\u043b\u044f \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445 \u2013 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0441\u0431\u043e\u0440\u0449\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438.<\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0449\u0451\u043b\u043a\u043d\u0435\u043c \u043f\u0440\u0430\u0432\u043e\u0439 \u043a\u043d\u043e\u043f\u043a\u043e\u0439 \u043c\u044b\u0448\u0438 \u043f\u043e Android-\u043f\u0440\u043e\u0435\u043a\u0442\u0443, \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0432 \u043c\u0435\u043d\u044e \u043f\u0443\u043d\u043a\u0442 Properties. \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441\u0431\u043e\u0440\u043a\u0438, \u043d\u0443\u0436\u043d\u043e, \u0432 \u043b\u0435\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u0433\u043e\u0441\u044f \u043e\u043a\u043d\u0430, \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043d\u0430 \u0437\u0430\u043a\u043b\u0430\u0434\u043a\u0443 Builders, \u0437\u0430\u0442\u0435\u043c \u2013 \u043d\u0430\u0436\u0430\u0442\u044c \u043d\u0430 \u043a\u043d\u043e\u043f\u043a\u0443 New, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u0443\u044e \u0441\u043f\u0440\u0430\u0432\u0430.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d44\/060\/e51\/d44060e51806f78ad3e51ff1a191dbec.gif\" \/><\/div>\n<p>  <i><font color=\"#999999\">\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/font><\/i><\/p>\n<p>  \u0418\u0437 \u0441\u043f\u0438\u0441\u043a\u0430 \u0432 \u043e\u043a\u043d\u0435 \u0432\u044b\u0431\u043e\u0440\u0430 \u0442\u0438\u043f\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0432\u044b\u0431\u0435\u0440\u0435\u043c Program. \u042d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0438 \u0442\u043e, \u043a\u0430\u043a \u0438\u043c\u0435\u043d\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0441\u0431\u043e\u0440\u043a\u0443.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/935\/dcd\/a4c\/935dcda4ce5b72fdd786e4e74b7cc56d.gif\" \/><\/div>\n<p>  <i><font color=\"#999999\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/font><\/i><\/p>\n<p>  \u0412 \u043f\u043e\u044f\u0432\u0438\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u043b\u044f:<\/p>\n<ul>\n<li>Name: \u0438\u043c\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430<\/li>\n<li>Location: \u043f\u0443\u0442\u044c \u043a ndk-build.cmd<\/li>\n<li>Working Directory: \u043f\u0443\u0442\u044c \u043a \u043f\u0430\u043f\u043a\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/bc5\/0b8\/e50\/bc50b8e5014480601a3f919f2690847f.gif\" \/><\/div>\n<p>  <i><font color=\"#999999\">\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 NDK<\/font><\/i><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0432\u044b\u0448\u0435\u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0441\u0431\u043e\u0440\u043a\u0443 \u043f\u0440\u043e\u0435\u043a\u0442\u0430. \u041a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f, \u0432 \u043f\u0430\u043f\u043a\u0430\u0445, \u0438\u043c\u0435\u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u043f\u043e \u0441\u0445\u0435\u043c\u0435 \/lib\/&lt;APP_ABI&gt;, \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0439\u0442\u0438 \u0441\u0431\u043e\u0440\u043a\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c, \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0445 \u0432 Application.mk. \u0412 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u043d\u0430\u0441 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0442 \u043f\u0430\u043f\u043a\u0438 x86 \u0438 x86_64.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/ead\/c01\/f3a\/eadc01f3acff0dd674ceda37d4cbff6d.gif\" \/><\/div>\n<p>  <i><font color=\"#999999\">\u0424\u0430\u0439\u043b\u044b libfreetype.so \u0434\u043b\u044f Android- \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 x86<\/font><\/i><\/p>\n<h2><font color=\"#0071c5\">\u0418\u0442\u043e\u0433\u0438<\/font><\/h2>\n<p>  \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 FreeType \u0441\u043e\u0431\u0440\u0430\u043d\u0430, \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0451 \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.       <\/p>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/278603\/\"> https:\/\/habrahabr.ru\/post\/278603\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       FreeType \u2013 \u044d\u0442\u043e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u0430\u044f \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0448\u0440\u0438\u0444\u0442\u0430\u043c\u0438. \u041e\u043d\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043d\u0430 ANSI C \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u0433\u0440\u043e\u043c\u043d\u043e\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432. \u0412 Android, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. \u041d\u043e \u0443 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0445 Android-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0435\u0442 \u043f\u0440\u044f\u043c\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u044d\u0442\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0435\u0439 \u0432 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442\u0435, FreeType \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0435\u0439 \u0432\u0430\u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0435\u0451 \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b x86, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 <a href=\"http:\/\/developer.android.com\/tools\/sdk\/ndk\/index.html\">NDK<\/a>. <br \/>  <a href=\"https:\/\/habrahabr.ru\/company\/intel\/blog\/278603\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/files\/2e0\/6e4\/307\/2e06e43077d24682a2bd0144f2a1f442.png\" \/><\/div>\n<p><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-275525","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=275525"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/275525\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=275525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=275525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=275525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}