登录 注册
当前位置:主页 > 资源下载 > 18 > 高焕堂的《应用框架原理与程序设计》配套源代码(基于Eclipse)

高焕堂的《应用框架原理与程序设计》配套源代码(基于Eclipse)

  • 更新:2024-07-01 17:21:26
  • 大小:4.07MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Android - 移动开发
  • 格式:RAR

资源介绍

高焕堂<应用框架原理与程序设计>源代码(Eclipse) 36计本人全部测试通过。比较难的地方而书中没有相关解释的有加注释。 关于第36计windows下编译.so文件: 写C组件注意事项:将NativeHalfAdder抽出只有类定义和函数定义部分,用javac NativeHalfAdder.java, 然后将编译出的.class文件放于test\cn\目录下 用javah test.cn.NativeHalfAdder产生.h头文件。 写完各个C文件和H文件后(关于这些文件书中有源码)。开始编译.so文件 Windows下编译.so文件步骤(这里我使用NDK(android-ndk-1.6_r1)加Cygwin 在windows下编译,如果没有请安装, 注:android-ndk-1.6_r1只支持android 1.6或更早版本,所以这里必须将你的android工程的Target设为1.6): 关于安装Cygwin,到http://www.cygwin.cn/site/install/ 上下载setup.exe 进入后选择install from internet 然后根据说明下一步,到Select Packages页面时,在All @ Default 选项上单击Default,使其状态变为All @ Install,为防止麻烦我选择全部安装, 按提示安装完(下载的时候有点慢,耐心等待,1.5G左右)。 关于NDK的安装,http://android.group.javaeye.com/group/blog/494016 上下载android-ndk-1.6_r1.rar 注意是windows版本的。 解压该文件,打开Cygwin进入其目录(Cygwin指令:cd D:/android-ndk-1.6_r1)下运行Cygwin指令 build/host-setup.sh 提示安装成功。 在Ex36CModel目录下创建Application.mk文件,并创建jni目录,该目录下包含Android.mk,HalfAdder.c等文件,目录结构如下 (关于MK文件的语法请看NDK安装目录docs下的ANDROID-MK.TXT,或者网上查找相关资料) Ex36CModel   ├ Application.mk   ├ jni ├ Android.mk ├ HalfAdder.c ├ HalfAdder.h ├ lw_oopc.h ├ test_cn_NativeHalfAdder.c ├ test_cn_NativeHalfAdder.h Application.mk内容: APP_PROJECT_PATH := $(call my-dir) APP_MODULES := NativeHalfAdder Android.mk内容: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := NativeHalfAdder LOCAL_SRC_FILES := HalfAdder.c test_cn_NativeHalfAdder.c include $(BUILD_SHARED_LIBRARY) 由于ndk规定Application.mk必须放在 /apps/project_name,我们在下创建一个符号连接: Cygwin指令:ln -s <工程目录> /apps/jnitest 如:Cygwin指令:ln -s D:/wu/android/Ex36CModel D:/android-ndk-1.6_r1/apps/Ex36CModel 这样,我们就可以开始编译共享库了: 在下运行: Cygwin指令:make APP=NativeHalfAdder 可以看到编译成功,并在<工程目录>/libs/armeabi/下生成了libNativeHalfAdder.so。 将so文件拷贝到AVD的/system/lib目录下(这里需要AVD的root权限,但是adb shell 就是root权限,所以用adb 指令来拷贝): 用cmd窗口 启动AVD(必须的,否则会有out of memory错误),输入:CMD指令: emulator -avd m9 -partition-size 512 运行,运行成功后,另开一个cmd输入 : CMD指令: adb remount 运行, 该指令更改系统文件属性使可读写 (必须的,否则会有file read-only错误), 然后在该cmd运行指令: adb push D:/wu/android/Ex36CModel/libs/armeabi/libNativeHalfAdder.so /system/lib 将指定文件拷到AVD相应目录下, 工程中记得加入NativeHalfAdder.java 文件,该文件加载了库文件并声明外部方法 运行本程序 大功告成