自己编写库模块,Win&Android联调总结二

libGameNet模块Win&Android联调总结二

作者:Jack(JCracker) 邮箱:[email protected]

作者很赖还是不想上传图片 需要图片和配置实例的来这里下载:下载

Application.mk 废弃不用 因为这里是打包成库

Android.mk:

#LOCAL_PATH := $(call my-dir)

LOCAL_PATH := E:\ylss\project\NewStartDemo\NetworkDemo\NetworkDemo

include $(CLEAR_VARS)

$(call import-add-path,$(LOCAL_PATH)/cocos2d)

$(call import-add-path,$(LOCAL_PATH)/cocos2d/external)

$(call import-add-path,$(LOCAL_PATH)/cocos2d/cocos)

#TARGET_CPU_ABI := armeabi

#TARGET_CPU_ABI := armeabi-v7a

#TARGET_CPU_ABI := armeabi-v7a-hard

#TARGET_CPU_ABI := armeabi

#设置c++11头文件路径和链接路径

#prebuilt_stdcxx_PATH := E:\android-ndk-r9d-windows-x86_64\android-ndk-r9d\sources\cxx-stl\gnu-libstdc++\4.8

#LOCAL_C_INCLUDES += \

$(prebuilt_stdcxx_PATH)/include \

$(prebuilt_stdcxx_PATH)/libs/$(TARGET_CPU_ABI)/include

#LOCAL_LDFLAGS += -L$(prebuilt_stdcxx_PATH)/libs/$(TARGET_CPU_ABI) -lgnustl_static -lsupc++

LOCAL_MODULE := gamenet_static

LOCAL_MODULE_FILENAME := libgamenet

AL_CPP_EXTENSION := .cpp

LOCAL_SRC_FILES := $(LOCAL_PATH)/libGameNet/Classes/JackInetAdress.cpp \

$(LOCAL_PATH)/libGameNet/Classes/JackNetDelegate.cpp\

$(LOCAL_PATH)/libGameNet/Classes/JackSocket.cpp

LOCAL_C_INCLUDES := $(LOCAL_PATH)/libGameNet/Classes

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static

LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static

LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static

# LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static

# LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static

# LOCAL_WHOLE_STATIC_LIBRARIES += spine_static

# LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static

# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static

# LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static

LOCAL_WHOLE_STATIC_LIBRARIES += protobuf_static

LOCAL_STATIC_LIBRARIES := lib_game_net

include $(BUILD_STATIC_LIBRARY)

$(call import-module,.)

$(call import-module,audio/android)

# $(call import-module,Box2D)

# $(call import-module,editor-support/cocosbuilder)

# $(call import-module,editor-support/spine)

# $(call import-module,editor-support/cocostudio)

# $(call import-module,network)

# $(call import-module,extensions)

$(call import-module,external/protobuf-2.5.0)

Android.mk:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

TARGET_CPU_ABI := armeabi

#TARGET_CPU_ABI := armeabi-v7a

#TARGET_CPU_ABI := armeabi-v7a-hard

#TARGET_CPU_ABI := armeabi

#设置c++11头文件路径和链接路径

prebuilt_stdcxx_PATH := E:\android-ndk-r9d-windows-x86_64\android-ndk-r9d\sources\cxx-stl\gnu-libstdc++\4.8

LOCAL_C_INCLUDES += \

$(prebuilt_stdcxx_PATH)/include \

$(prebuilt_stdcxx_PATH)/libs/$(TARGET_CPU_ABI)/include

LOCAL_C_INCLUDES += E:\ylss\project\NewStartDemo\NetworkDemo\NetworkDemo\cocos2d\external\protobuf-2.5.0\src

$(warning $(prebuilt_stdcxx_PATH))

#LOCAL_LDFLAGS += -L$(prebuilt_stdcxx_PATH)/libs/$(TARGET_CPU_ABI) -lgnustl_static -lsupc++

LOCAL_STATIC_LIBRARIES += -L$(prebuilt_stdcxx_PATH)/libs/$(TARGET_CPU_ABI) -lgnustl_static -lsupc++

LOCAL_MODULE := protobuf_static

LOCAL_MODULE_FILENAME := libprotobuf

LOCAL_CPP_EXTENSION := .cc

LOCAL_SRC_FILES := \

src/google/protobuf/io/coded_stream.cc\

src/google/protobuf/stubs/common.cc \

src/google/protobuf/descriptor.cc \

src/google/protobuf/descriptor.pb.cc\

src/google/protobuf/descriptor_database.cc\

src/google/protobuf/dynamic_message.cc\

src/google/protobuf/extension_set.cc\

src/google/protobuf/extension_set_heavy.cc\

src/google/protobuf/generated_message_reflection.cc \

src/google/protobuf/generated_message_util.cc \

src/google/protobuf/io/gzip_stream.cc \

src/google/protobuf/compiler/importer.cc\

src/google/protobuf/message.cc\

src/google/protobuf/message_lite.cc \

src/google/protobuf/stubs/once.cc \

src/google/protobuf/compiler/parser.cc\

src/google/protobuf/io/printer.cc \

src/google/protobuf/reflection_ops.cc \

src/google/protobuf/repeated_field.cc \

src/google/protobuf/service.cc\

src/google/protobuf/stubs/structurally_valid.cc \

src/google/protobuf/stubs/strutil.cc\

src/google/protobuf/stubs/substitute.cc \

src/google/protobuf/stubs/stringprintf.cc \

src/google/protobuf/text_format.cc\

src/google/protobuf/io/tokenizer.cc \

src/google/protobuf/unknown_field_set.cc\

src/google/protobuf/wire_format.cc\

src/google/protobuf/wire_format_lite.cc \

src/google/protobuf/io/zero_copy_stream.cc\

src/google/protobuf/io/zero_copy_stream_impl.cc \

src/google/protobuf/io/zero_copy_stream_impl_lite.cc

#LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include/protobuf

#LOCAL_C_INCLUDES := $(LOCAL_PATH)/include/protobuf

#LOCAL_CFLAGS := -std=c99

#LOCAL_CFLAGS += -std=c++11 -stdlib=libstdc++ -Wno-error=c++11-narrowing

include $(BUILD_STATIC_LIBRARY)

a) 支持配置完成

b) 导入eclipse 解决eclipse中的错误

编译导出apk

开启adb

生成了apk

但是这里我们不用elicpse调试。因为它调试native不方便

我选用vs2012+visual gdb来调试 这样可以设置断点之类的。

c) Vs2012 + visual gdb联调

打开win32平台的networkDemo,设置一个断点。然后如下图操作

开启服务端

调试apk

最好按我建议的选项勾选,不然gdb很容易死掉

等待启动gdb 注意屏幕是否提示安装

启动完成。手机上出现屏幕。点击按钮触发设置的断点

成功卡住。 查看服务端

成功建立连接。

手机发送数据 服务端信息

服务端成功接收到数据。 同时服务端返回有数据。

查看客户端断点处

成功卡住返回的数据

d) Win&&Android联调完毕

自己编写库模块,Win&Android联调总结二

时间: 2024-08-06 09:44:21

自己编写库模块,Win&Android联调总结二的相关文章

毕加索的艺术——Picasso,一个强大的Android图片下载缓存库,OkHttpUtils的使用,二次封装PicassoUtils实现微信精选

毕加索的艺术--Picasso,一个强大的Android图片下载缓存库,OkHttpUtils的使用,二次封装PicassoUtils实现微信精选 官网: http://square.github.io/picasso/ 我们在上篇OkHttp的时候说过这个Picasso,学名毕加索,是Square公司开源的一个Android图形缓存库,而且使用起来也是非常的简单,只要一行代码就轻松搞定了,你会问,为什么不介绍一下Glide?其实Glide我有时间也是会介绍的,刚好上篇我们用到了Picasso,

php动态扩展bcmath与sockets库模块

在学习安装zabbix的时候,前提需要搭建使用到LNMP框架,而在编译php时忘记添加bcmath与sockets 扩展包,发现当初安装时没有--enable-bcmath.--enable-sockets,自己又不想删除重装php,幸好php支 持单独添加某个extension,重要的就是要生成这个扩展对应的.so文件. 具体做法如下,要有与你已安装的php相同版本的php源代码安装包.我用的是php-7.0.5.tar.gz. [[email protected] ~]# tar -zxf

Android百分比布局支持库介绍——com.android.support:percent

在此之前,相信大家都已经对Android API所提供的布局方式非常熟悉了.也许在接触Android的时候都有过这样的想法,如果可以按照百分比的方式进行界面布局,这样适配各种屏幕就简单多了吧!!以前的一个小梦想,现在终于得以实现,谷歌正式提供百分比布局支持库(percent-support-lib). <ignore_js_op> 获取支持库: 使用Android studio在build.gradle添加以下信息就可以获取支持库,当然了,如果你没有下载到该支持库会提示你下载. [AppleS

Saltstack_使用指南09_远程执行-编写执行模块

1. 主机规划 salt 版本 1 [[email protected] ~]# salt --version 2 salt 2018.3.3 (Oxygen) 3 [[email protected] ~]# salt-minion --version 4 salt-minion 2018.3.3 (Oxygen) 编写执行模块文档 https://docs.saltstack.com/en/latest/ref/modules/index.html # 文档上的稍有些复杂 注意事项 修改了m

GitHub上不错的Android开源项目(二)

收集相关系列资料,自己用作参考,练习和实践.小伙伴们,总有一天,你也能写出 Niubility 的 Android App :-) 系列文章如下: GitHub上不错的Android开源项目(一):http://www.cnblogs.com/haochuang/p/4676090.html GitHub上不错的Android开源项目(二):http://www.cnblogs.com/haochuang/p/4676092.html GitHub上不错的Android开源项目(三):http:

Android之路(二)

(一)app内文件详解 1. build包含编译时自动生成的文件. 2. libs第三方jar包,需要把jar包放在libs,会被自动添加到构建路径里去. 3. AndroidTest 此处是用来编写Android Test 测试用例的,可以对项目进行一些自动化测试 4. java 放置java代码的地方 activity文件就在里面. 5. res项目中使用到的所有图片/布局/字符串等资源都要存放在这个目录下.图片放在drawable目录下,布局放在layout目录下,字符串放在values目

Android 驱动(二) IIC简介

一. I2C简介 I2C(Inter-Integrated Circuit)总线是一种由 Philips 公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C 总线最主要的优点就是简单性和有效性,简单体现在接线简单,只有两根线数据线(SCL)和时钟线(SDA),而且 控制简单.所以一些封装较小的器件多使用I2C总线,常见的使用I2C总线的设备有EEPROM.RTC及一些传感器.这里我们介绍下基于linux的I2C设备驱动的编写. I2C设备驱动的编写有多种方式 一种是直接操作CPU的I

android JNI (二) 第一个 android工程

下载NDK 后 它自带有 sample,初学者 可以导入Eclipse 运行 这里 我是自己创建的一个新工程 第一步: 新建一个Android工程 jni_test(名字自取) 第二步:为工程添加 本地支持 右击工程,选择 android tools -- Add Native support  后,会弹出一个对话框 让你输入 库的名称 这个名字 你可以做修改,也可以使用默认,点击finish 之后,你会发现 该工程里多了几个文件夹,其中有一个叫 jni,这里 就是我们写c代码的地方,jni文件

Android测试(二):Android 测试基础

Android测试(二):Android 测试基础 发布时间 2017年12月20日 虫师 原文:https://developer.android.com/training/testing/fundamentals.html 用户在不同的级别上与你的应用产生交互.从按下按钮到将信息下载到他们的设备上,因此,你应该在迭代开发应用程序时测试各种用例和交互. 使用迭代开发工作流 当你的应用程序进行扩展时,你可能会发现需要从服务器获取数据,与设备的传感器进行交互,可以还需要访问本地存储,或呈现复杂的用