Basics Android NDK munka c

Basics Android NDK munka c

Natív kódot írt C vagy C ++ - ez egy olyan téma, hogy sok fejlesztő nem befolyásolja egyáltalán. De néha a használata C ++ alkalmazások sokkal könnyebb / gyorsabb fejlődését. Ez a cikk meg fogja vitatni a fő elveit dolgozó natív kód.

Előre

Ha nem létre Eclipse, olvassa el, hogyan kell beállítani Eclipse dolgozni Android. Csak azon kívül, amit állítólag a cikk, ha telepíti több kell kiválasztani és telepíteni a NDK plugin.

Csak telepíteni kell CDT Eclipse. Windows alatt úgy tűnik, hogy még mindig szeretné telepíteni Cygwin.

Most kell, hogy hozzon létre egy projektet, és regisztrálja módon.

  • Készítsen Android Application.
  • Eclipse -> Window -> Beállítások -> Android -> set path SDK

Basics Android NDK munka c

  • Eclipse -> Window -> Beállítások -> Android -> NDK -> set path az NDK

    Basics Android NDK munka c

  • Kattintson a jobb gombbal a projekt, és válassza ki az Android Eszközök -> Add natív támogatása
  • JNI a projektben mappa jön létre, ahol van, hogy helyezze a fájlokat a C ++ kódot. A korábbi verziókban volt egy hiba, ha Eclipse nem tudta megfelelően beállítani az utat néhány fejléc fájlokat a NDK. A legújabb verzió minden normális. Csak tiszta a projekt (Clean projekt), majd újraépíteni (Build projekt).

    Miért van szükség a NDK?

    Azt hiszem, először meg kell magyarázni, ha az összes költséget (és megéri?) Használata ndk. Sokan azt tanácsolják, hogy a C ++, ha szükséges néhány nagy / bonyolult számításokat. Mit jelent nehéz? = / Általában akkor hívja a különleges esetekben, amikor a használata NDK indokolt:

    • Munka OpenGL ES. Azt hiszem, a legtöbb, akik használják a NDK, yuzayut csak írásra játékokat.
    • Használata cross-platform motorok, mint a kókusz.
    • A legnyilvánvalóbb eset - ez az, amikor meg kell használni egy már megírt C ++ kódot. Az évtizedek során a C ++ már írt egy csomó. Miért átírni dolgokat Java, ha lehet csak használni a nyílt forráskódú fejlesztéseket. És nem minden átírható, azt hiszem, ugyanaz OpenCV értelmetlen lenne átírni, az az idő, amikor egyszerűen dugja kész forrásokból.

    A lehetőségek óriásiak NDK. Akkor hivatkozhat a Java, a C ++ módszerekkel. Ugyanakkor, nem tesz semmit, hullámzó hívás Java módszereket C ++. Még akkor létrehozhat egy alkalmazás szinte nincs használata Java segítségével NativeActivity (API 9 felett).

    Java. Utazás a Native (vagy vissza).

    Isten bocsássa meg, megemlítve a tanár munkája (És igen, úgy mindent egy cikkben nem lehetséges tehát, hogy végrehajtásának megkezdése hívást natív módszerek Java ..

    Felsorolni röviden kiemeli, ha foglalkoznak natív:

    • Fájlok létrehozása a C ++ kódot.
    • Meghatározása C ++ módszerek exportra.
    • Létrehozása .mk fájlokat.
    • Generation Könyvtár.
    • Csatlakozás Könyvtár Java és C ++ eljárás hívást.

    Létrehozása C ++ forrás fájl

    A natív határozza meg az összes 3 módszer: távvezetékek, a változás vonalak letölteni egy sorban.

    Hozzon létre egy fájlt a start def.h. Csatlakozás egy pár a szükséges fájlokat, és meghatározza a módszereket kimenet a konzolra.

    MyNative.h létre egy fájlt, és határozza meg a leírásban a kiviteli eljárást hívni őket Java kódból utána.

    Most mind a három módszer lehet hivatkozni Java kódból. Írtam ezt a kódot kezeli. De akkor zayuzat javah. amely maga generit fejlécek. extern „C” szükséges, hogy a C ++ fordító nem változott a nevét a bejelentett funkciókat.

    Így létre MyNative.cpp a végrehajtási módszereket.

    Munka Application.mk

    Ez a fájl írja a globális beállításokat az építmények lib.

    Munka Android.mk

    Itt adja meg a / beállítások összekapcsolásával stb gyűjteni libu.

    Miután létrehozott egy C ++ fájlokat és .mk kész, akkor zabildit projekt, akkor a obj mappa látható könyvtár libAndroidNDK.so.

    Csatlakozás Könyvtár Java és C ++ eljárás hívást.

    Basics Android NDK munka c

    Most már csak azt kell írni Java kódot. Tedd szerény alkalmazás. Helyezzük a beviteli mezőbe három gomb (átutalás natív szöveges, változtassa meg a szöveget a natív és visszaadja a módosított karakterláncot a natív) és egy területen az új szöveget, amely származik natív kód.

    A natív módszereket hozzon létre egy osztályt AndroidNDK.

    Ez a kód a letölthető könyvtár, amely végrehajtja a módszereket. Figyeljünk ismét az osztály és módszerek, és emlékszik a nevére módszerek export natív kód: Java_ru_suvitruf_androidndk_AndroidNDK_ChangeString.

    Java kód feldolgozásra karakternél nem fog írni a legfontosabb, mert ez egy triviális feladat. Mindenesetre, ha szükséges, akkor a forráskód ezt a cikket. A log fájl lesz ez:

    Egy bevezetés natív elég írva. Tudod letölt a forrás AndroidNDK.rar.