×ðÁú¿­Ê±¹ÙÍøµÇ¼

Ïàʶ°²×¿ÏµÍ³ÓëLinuxÄں˵ÄÁªÏµÓëÇø±ð

ÎÊÌ⣺ÉîÈë̽ÌÖ°²×¿ÏµÍ³ÓëLinuxÄں˵ÄÁªÏµÓëÇø±ð

°²×¿ÏµÍ³×÷ΪÏÖÔÚÈ«ÇòÓû§ÊýÄ¿×î¶àµÄÒƶ¯²Ù×÷ϵͳ֮һ£¬Æäµ×²ã½¹µã½ÓÄÉÁËLinuxÄںˡ£ÔÚ°²×¿ÏµÍ³ÖУ¬LinuxÄÚºËÊÎÑÝ×ÅÖ÷ÒªµÄ½ÇÉ«£¬ÈÏÕæÖÎÀíÓ²¼þ×ÊÔ´¡¢ÌṩϵͳÎȹÌÐÔºÍÇå¾²ÐÔÖ§³ÖµÈ¹¦Ð§¡£±¾ÎĽ«ÉîÈë̽ÌÖ°²×¿ÏµÍ³ÓëLinuxÄں˵ÄÁªÏµÓëÇø±ð£¬²¢Í¨¹ýÏêϸ´úÂëʾÀýÀ´Ú¹ÊͶþÕßÖ®¼äµÄ¹Øϵ¡£

Ò»¡¢ÁªÏµ£º

1.1 ÅäºÏ»ù´¡£º

°²×¿ÏµÍ³ºÍLinuxÄں˶¼¾ßÓпªÔ´µÄÌص㣬¶¼ÓÉÈ«ÇòµÄ¿ª·¢ÕßÅäºÏ¼ÓÈëά»¤ºÍˢС£°²×¿ÏµÍ³ÔÚLinuxÄں˵Ļù´¡ÉϾÙÐÐÁ˶þ´Î¿ª·¢£¬¼ÓÈëÁ˸ü¶àµÄ¹¦Ð§Ä£¿éºÍЧÀÍ£¬ÈçÓ¦Óÿò¼Ü¡¢½çÃæϵͳµÈ£¬ÒÔÖª×ãÒƶ¯×°±¸µÄÐèÇó¡£

1.2 ×ÊÔ´ÖÎÀí£º

LinuxÄÚºË×÷Ϊ°²×¿ÏµÍ³µÄµ×²ã½¹µã£¬ÈÏÕæÖÎÀíÓ²¼þ×ÊÔ´£¬°üÀ¨´¦ÀíÆ÷¡¢ÄÚ´æ¡¢ÍøÂçµÈ×°±¸¡£°²×¿ÏµÍ³Í¨¹ýLinuxÄÚºËÌṩµÄ¸»ºñ½Ó¿Ú£¬ÊµÏÖ¶ÔÓ²¼þ×ÊÔ´µÄ»á¼ûºÍ¿ØÖÆ£¬´Ó¶ø°ü¹ÜÓ¦ÓóÌÐòÄܹ»Õý³£ÔËÐС£

1.3 Çå¾²ÐÔ£º

LinuxÄÚºËÔÚÇå¾²ÐÔ·½Ãæ¾ßÓнϸߵĿɿ¿ÐÔ£¬Äܹ»ÌṩÎļþȨÏÞ¡¢Àú³Ì¸ôÀëµÈÇå¾²»úÖÆ¡£°²×¿ÏµÍ³ÔÚ´Ë»ù´¡ÉϽøÒ»²½ÔöÇ¿ÁËÓû§È¨ÏÞÖÎÀí¡¢Ó¦ÓÃɳÏäµÈÇå¾²²½·¥£¬È·±£ÏµÍ³µÄÎȹÌÐÔºÍÊý¾ÝÇå¾²¡£

¶þ¡¢Çø±ð£º

2.1 Ó¦Óòã²î±ð£º

°²×¿ÏµÍ³Ïà½ÏÓڹŰåµÄLinuxϵͳ£¬Ô½·¢×¢ÖØÒƶ¯×°±¸µÄÓû§ÌåÑéºÍÓ¦ÓÃÉú̬£¬Òò´ËÔÚÓ¦ÓòãÉϾÙÐÐÁË´ó×ÚµÄˢкÍÓÅ»¯¡£°²×¿ÏµÍ³½ÓÄÉÁË×Ô¼ºµÄÓ¦Óÿò¼ÜºÍ½çÃæϵͳ£¬Óë¹Å°åµÄLinuxϵͳÓнϴóÇø±ð¡£

2.2 ÄÚÉó¶¨ÖÆ£º

°²×¿ÏµÍ³¶ÔLinuxÄں˾ÙÐÐÁ˶¨ÖÆ£¬ÔöÌíÁËÐí¶àÕë¶ÔÒƶ¯×°±¸µÄÌض¨¹¦Ð§£¬Èçµç³ØÖÎÀí¡¢ÕÕÏàÖ§³ÖµÈ¡£ÕâЩ¶¨ÖÆ»¯µÄ¹¦Ð§Ê¹µÃ°²×¿ÏµÍ³¸üÊÊÓÃÓÚÒƶ¯×°±¸µÄÐèÇó£¬Óë¹Å°åµÄLinuxϵͳÓÐËù²î±ð¡£

2.3 Ðû²¼ÖÜÆÚ£º

°²×¿ÏµÍ³ºÍLinuxÄں˵ÄÐû²¼ÖÜÆÚÒ²ÓÐËù²î±ð¡£°²×¿ÏµÍ³Í¨³£Ã¿ÄêÐû²¼Ò»¸öеÄÖ÷Òª°æ±¾£¬¶øLinuxÄÚºËÔòÓÐÔ½·¢ÆµÈԵĸüкÍÐû²¼£¬ÒÔ˳Ӧ²î±ðÓ²¼þƽ̨ºÍÐèÇó¡£

Èý¡¢´úÂëʾÀý£º

ΪÁ˸üºÃµØÃ÷È·°²×¿ÏµÍ³ÓëLinuxÄں˵ÄÁªÏµ£¬ÒÔÏÂÊÇÒ»¸ö¼òÆӵĴúÂëʾÀý£¬ÑÝʾÁËÔÚ°²×¿Ó¦ÓÃÖÐŲÓÃLinuxϵͳŲÓõÄÀú³Ì£º

// ÔÚ°²×¿Ó¦ÓÃÖÐͨ¹ýJNIŲÓÃLinuxϵͳŲÓÃ
public class MainActivity extends Activity {
    static {
        System.loadLibrary("native-lib");
    }

    public native void helloWorld();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        helloWorld();
    }
}

µÇ¼ºó¸´ÖÆ

// C´úÂëʵÏÖŲÓÃLinuxϵͳŲÓÃ
#include <jni.h>
#include <stdio.h>
#include <unistd.h>

JNIEXPORT void JNICALL Java_com_example_MainActivity_helloWorld(JNIEnv *env, jobject obj) {
    printf("Hello World from Linux kernel!
");
    // ŲÓÃLinuxϵͳŲÓÃ
    int ret = syscall(SYS_getpid);
    printf("My process ID is %d
", ret);
}

µÇ¼ºó¸´ÖÆ

ͨ¹ýÒÔÉÏ´úÂëʾÀý£¬ÎÒÃÇ¿ÉÒÔ¿´µ½ÔÚ°²×¿Ó¦ÓÃÖÐͨ¹ýJNIŲÓÃÁËC´úÂ룬½ø¶øŲÓÃÁËLinuxµÄϵͳŲÓá£ÕâչʾÁË°²×¿ÏµÍ³ÓëLinuxÄں˵ÄÁªÏµ£¬Í¬Ê±Ò²Õ¹Ê¾Á˶þÕßÖ®¼äµÄЭ×÷ÓëÕûºÏ¡£

×ÛÉÏËùÊö£¬°²×¿ÏµÍ³ÓëLinuxÄÚºËÖ®¼ä±£´æ×ÅÇ×½üµÄÁªÏµºÍÒ»¶¨µÄÇø±ð£¬¶þÕßÏ໥ÅäºÏ£¬ÅäºÏ×é³ÉÁË°²×¿×°±¸µÄ»ù´¡ÏµÍ³¡£Í¨¹ýһֱѧϰºÍÑо¿£¬ÎÒÃÇ¿ÉÒÔ¸üÉîÈëµØÃ÷È·¶þÕßÖ®¼äµÄ¹Øϵ£¬ÎªÒƶ¯Ó¦Óÿª·¢ºÍϵͳÓÅ»¯Ìṩ¸ü¶àµÄ˼Ð÷ºÍÒªÁì¡£

ÒÔÉϾÍÊÇÏàʶ°²×¿ÏµÍ³ÓëLinuxÄں˵ÄÁªÏµÓëÇø±ðµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Á¢³¡£¬Çë¶ÁÕß½ö×ö²Î¿¼¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ