【Android源码 栏目提醒】:网学会员,鉴于大家对Android源码 十分关注,论文会员在此为大家搜集整理了“Android代码调用C 代码和C 代码调用Android代码 - 综合课件”一文,供大家参考学习!
??è????JDK Android NDK r5 cygwin????????±à???????? ??ò????????????????????????????????????×????????????÷???????????????????? ??÷??????÷??????????????÷??????????ì????????????????Android??ú????????????????????????????C??ú???????? 1.??????÷Button????????Button??ì??????????????????÷????setNameString_strName°??EditText????????×??·??????????????C??ú????setName???????????? 2·????C????void setName????????????????String??????¨????showNameInAndroidJNI·????ò??÷????Android????void showNameInAndroidString _strName??????????????????°??ò????????????String???? Main.xml??????????????ú????//////////////////////////////////////////////////////////////////////////////////////// Android??÷????C ????????Android??????ò????????????????????????????Activity??????àmainWnd???? ??×????????mainWnd??????±??????ù??÷????????Android??÷????????C???????????? public native voidsetNameString _strNamenative????????????·??±?????????? ????×??????mainWnd????onCreate????????????????°????????ì???? ///////////°????????ì????????????////////////// Button btnSend ButtonfindViewByIdR.id.ButtonSend btnSend.setOnClickListenernewOnClickListener Override publicvoid onClickView _view EditTextetName EditTextfindViewByIdR.id.EditTextName //??÷????C·??·¨ setNameetName.getText.toString /////////////////////////////////// ·????????JDK????????/bin/javah??????ú????mainWnd.class??????·???????????? ????????javah??ù????????????????C:ProgramFilesJavajdk1.6.0_23bin ????????bin??????????ù????????????????C:UsersCrinsonAndroid_ And_Cbin ????????°ü????×??????Crinson.Blog.mainWnd ??ú??????ü????????????????????????????C:ProgramFilesJavajdk1.6.0_23binjavah -classpathC:UsersCrinsonAndroid_And_Cbin -jni Crinson.Blog.mainWnd ????×????á????C:Program FilesJavajdk1.6.0_23bin??????????ú????Crinson_Blog_mainWnd.h???????????? ??????????????????ú??????§°??????????×??????????????????????????°ü??ù????????????????????????????????°ü??????à???????? ????????????????Crinson.Blog.mainWnd????????????C:UsersCrinsonAndroid_And_CbinCrinsonBlog???????????????? ????????????????????C???????????????????????? ????Android??¤??????????????¨jni????????????????·??c??ú???????? ????jni ??????????????????¨????????????Android_to_C???? °??Crinson_Blog_mainWnd.h·?????????????????????????? Crinson_Blog_mainWnd.h???????????????????????? //////////////////////////////////////////////////////// / DO NOT EDIT THISFILE - it is machine generated / include / Header for classCrinson_Blog_mainWnd / ifndef_Included_Crinson_Blog_mainWnd define_Included_Crinson_Blog_mainWnd ifdef __cplusplus extern C endif / Class:Crinson_Blog_mainWnd Method:setName Signature: Ljava/lang/StringV / JNIEXPORT void JNICALLJava_Crinson_Blog_mainWnd_setNameJNIEnv jobject jstring ifdef __cplusplus endif endif //////////////////////////////////////////////////////// ??ò????????????????????????????×??·?????????????????? ??ù????????°??JNIEXPORT void JNICALLJava_Crinson_Blog_mainWnd_setNameJNIEnv jobject jstring ????????????JNIEXPORT void JNICALLJava_Crinson_Blog_mainWnd_setNameJNIEnv _pEnv jobject _obj jstring _strName ??????????????????¨Crinson_Blog_mainWnd.cpp???????????? ????????????Java_Crinson_Blog_mainWnd_setName??????????????????ú???????????????? ///////////////Crinson_Blog_mainWnd.cpp///////////////// include Crinson_Blog_mainWnd.h //??????????????????·??????????????????????ò???????? include crinson_jni.h JNIEXPORT void JNICALL Java_Crinson_Blog_mainWnd_setNameJNIEnv jobjectjstring constchar pName _pEnv-GetStringUTFChars_strName 0 //????????·????ò??÷????????Android????showNameInAndroid???????? showNameInAndroidJNIcharpName _pEnv-ReleaseStringUTFChars_strNamepName //end of Java_Crinson_Blog_mainWnd_setName ///////////////////////////////////////////////////////// Android??÷????C??????ú????????????????????????????????±à??????????è???????????????????????? ??????????ò????????????????????·????ò??÷????Android??ú????????????????????????showNameInAndroidJNI ???????????????????????????? ??ù????????????°??showNameInAndroidJNI ????????????????????????????±à???????? C??÷????Android ????jni ??????????????????¨????????????C_to_Android??????????????????????????????¨crinson_jni.h??????ú???????????????? //////////////////crinson_jni.h/////////////// ifndef_CRINSON_JNI_2011_04_08 define_CRINSON_JNI_2011_04_08 define CLASS_WANT_TO_JNI Crinson/Blog/mainWnd extern C extern void showNameInAndroidJNI endif////////////////////////////////////////////////////上一篇:基于Android系统的恶意程序原理分析