高焕堂<应用框架原理与程序设计>源代码(Eclipse)

时间:2013-09-20 10:09:14
【文件属性】:

文件名称:高焕堂<应用框架原理与程序设计>源代码(Eclipse)

文件大小:4.07MB

文件格式:RAR

更新时间:2013-09-20 10:09:14

高焕堂 应用框架原理与程序设计 源代码 源码 android36计

高焕堂<应用框架原理与程序设计>源代码(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 文件,该文件加载了库文件并声明外部方法 运行本程序 大功告成


【文件预览】:
META-INF
----CERT.SF(688B)
----MANIFEST.MF(635B)
----CERT.RSA(776B)
AndroidManifest.xml
resources.arsc
res
----layout()
--------main.xml(640B)
--------act.xml(1008B)
----drawable-ldpi()
--------icon.png(2KB)
----drawable-hdpi()
--------icon.png(4KB)
----drawable-mdpi()
--------icon.png(2KB)
classes.dex

网友评论

  • 比较全,但是比较旧的了
  • 非常不错,终于不用手敲代码了
  • 资料还不错,但是比较旧的了
  • 可以用的,下了他!
  • 比较全,基本可用,多谢