主要记录下打包遇到的各种问题,主要讲解打包中遇到的问题如何解决.如果大家有何我同样的问题,希望能够帮到你.

过程 一 :

1. 配置环境变量

2.下载 ADT包含(eclipse和SDK)   NDK  ANT

3.配置环境变量可以按照 http://www.cnblogs.com/skysand/p/4063584.html 这里一步一步的学习,或者网上搜索,非常详细.

4.检查环境是否搭建成功

打开控制台,找到cocos源文件中的setup.py 鼠标点击拖入,按回车,看下是否配置成功,如果如图2,则已完成.

图2

如果是is no found 那就找到路径,然后将路径加入到控制台.

不要忘记添加到用户变量和系统变量中

过程二,

1.将打包项目里的proj.android,导入.到eclipse(adt里面有这个工具)中.

(1)

(2)

2.然后将项目源文件里 java 拷贝到

安卓项目下

然后打开eclipse 按 Alt+Enter

Reference里面以前的Remove掉,点击Add添加从cocos2d文件里导入到android里面的java(libcocos2dx)

然后刷新eclipse (按F5)

然后更改两个文件

1.android.mk

复制下面,全体换

LOCAL_PATH := $(call my-dir)
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)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
LOCAL_SRC_FILES := hellocpp/main.cpp
MY_CPP_LIST := $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)
MY_CPP_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/**/*.cpp)
MY_CPP_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/**/**/*.cpp)
MY_CPP_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/**/**/**/*.cpp)
MY_CPP_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/**/**/**/**/*.cpp)
LOCAL_SRC_FILES += $(MY_CPP_LIST:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
# _COCOS_HEADER_ANDROID_BEGIN
# _COCOS_HEADER_ANDROID_END
LOCAL_STATIC_LIBRARIES := cocos2dx_static
# _COCOS_LIB_ANDROID_BEGIN
# _COCOS_LIB_ANDROID_END
include $(BUILD_SHARED_LIBRARY)
$(call import-module,.)
# _COCOS_LIB_IMPORT_ANDROID_BEGIN
# _COCOS_LIB_IMPORT_ANDROID_END

2.Application.mk

同上

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
APP_LDFLAGS := -latomic
ifeq ($(NDK_DEBUG),1)
APP_CPPFLAGS += -DCOCOS2D_DEBUG=1
APP_OPTIM := debug
else
APP_CPPFLAGS += -DNDEBUG
APP_OPTIM := release
endif

然后刷新下eclipse

基本修改完毕,在报错就是代码里面的了,cocos用的是c++和lua或者js 这些语言在编译成安卓的时候可能会有不识别冲突之类的.比如c++就可以用byte定义整数,但编译安卓APK的时候就一定要用int等问题,自己修改代码,想办法.

然后就可以按住eclipse目录中的项目按右键 找到 Run As  选 1 android application

等待编译吧.一会apk就会出现在 bin目录下

链接手机,打开usb调试,然后在手机上运行调试吧.(打包结束)

如何解决 APK打包过程中遇到的问题,(APK生成,但无法打开,或者闪退,或者生成失败)

如果打包过程中eclipse下报错,console报错,说明代码有问题,或者以上步骤那里不对,或者导入时候有问题,或者资源找不到了等等.如何定位问题到底出在那里了,找到问题出现的地方,下面教大家一个方法.ndk调试.

(连接手机调试中)↓

假设你已经安装了 Android Develop Tools, 可以成功调用adb. 并打开android开发用机的调试模式, 连接到电脑.

打开命令行, 在命令行输入: adb logcat. 就可以看到满屏幕的日志啦. 
输入adb logcat --help可以看到 logcat的用法提示.

但是这些输出的问题不容易看懂,都是内存地址之类的,如何报错到我们熟悉的文件里.

打开控制台 找到NDK ,比如NDK 在E盘

按照上面输入 然后回车会出现

然后直接输入

adb logcat | ndk-stack -sym ./obj/local/armeabi

注意 ./obj/local/armeabi 写你自己的绝对路径(./省略)

如C:\Users\Administrator\Desktop\War\proj.android\obj\local\armeabi  正确写法.然后回车,熟悉的代码就会出现了.这就是引起报错的地方.

********** Crash dump: **********
Build fingerprint: 'htc_wwe/htc_bravo/bravo:2.3.3/
GRI40/96875.1:user/release-keys'
pid: 1723, tid: 1743 >>> com.packtpub.droidblaster <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr0000000c
Stack frame #00 pc 00010a2c /data/data/com.packtpub.droidblaster/lib/libdroidblaster.so: Routine update in /home/packt/Project/Chapter11/DroidBlaster_Part11/jni/TimeService.cpp:25
Stack frame #01 pc 00009fcc /data/data/com.packtpub.droidblaster/lib/libdroidblaster.so: Routine onStep in /home/packt/Project/Chapter11/DroidBlaster_Part11/jni/DroidBlaster.cpp:53
Stack frame #02 pc 0000a348 /data/data/com.packtpub.droidblaster/lib/libdroidblaster.so: Routine run in /home/packt/Project/Chapter11/DroidBlaster_Part11/jni/EventLoop.cpp:49
Stack frame #03 pc 0000f994 /data/data/com.packtpub.droidblaster/lib/libdroidblaster.so: Routine android_main in /home/packt/Project/Chapter11/DroidBlaster_Part11/jni/Main.cpp:31
...

熟悉的代码出现啦~~

********************************************************************************************************

如果报错提示不会看,看不懂,那教大家一个最最原始最最有效,绝对好使的办法,

保证让你的apk跑起来.

二分注释法.找到你怀疑的地方,注释代码.不断地注释,一直注到APK 能跑起来,(最好先打个空项目包,试下,看看能成功不).然后一点一点打开,跟你你自己的代码逻辑一点一点找,这样就能找到引起APK闪退崩溃的那句话了(然后怎么处理,根据你自己写的逻辑来,先注释小看下效果,缩小了你的修改范围就好说了).项目小可以,如果项目大,各种办法都试了,实在没办法,就这样试试吧,然后很麻烦,但绝对可行.

程序思想解决问题最重要的是准确的定位问题,缩小范围,二分注释法,一点一点的分析解决问题.

cocos2d-x 3.4版本游戏打包AKP (重点记录如何解决打包过程中遇到的各种问题)相关推荐

  1. pyinstaller打包exe文件的详细步骤及过程中遇到的问题

    因项目中需要将写好的python文件交给第三方使用,但又不想将源码奉献给别人,所以想着将文件打包成exe文件,方便使用的同时也不暴露源码.---.--- 1.本人的配置环境 平台:windows10 ...

  2. python打包包含所有依赖_解决Python开发过程中依赖库打包问题的方法

    在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新instal ...

  3. mysql 5.x数据库安装_手把手教你进行Mysql5.x版本的安装及解决安装过程中的bug

    前言 Hey,大家好,我是码农星期八,似乎还没有更新过关于Mysql的相关文章,同时也是因为工作需要,一起来学学叭. 数据库种类 常见的数据库有Mysql,Oracle,SQLite,Access,M ...

  4. 网页无插件直播视频平台EasyNVR老版本更新版本后CPU占用过高怎么解决?

    TSINGSEE青犀视频经过几年的发展,积累了不少项目客户.一个月前,有个老客户旧版本的EasyNVR升级至新版本,升级后使用过程中会不时出现CPU占用过高的现象. 经过研发在本地测试,并没有出现CP ...

  5. 在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效音效镜头震动打包

    在虚幻引擎5中构建你的首款游戏 - 10[完] - 特效&音效&镜头震动&打包 前言介绍: 原版地址: << [功能亮点]在虚幻引擎5中构建你的首款游戏(官方字幕) ...

  6. Cocos2d游戏开发之如何解包获得pvr.ccz中的美术资源

    Cocos2d游戏开发之如何解包获得pvr.ccz中的美术资源 在大部分时候,Cocos2d游戏会将美术资源打包以减轻性能要求,提高加载速度.而如果我们需要获得其中的美术资源,就得解包.这里以plis ...

  7. cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)

    原文地址:cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)作者:七贤林子 在cocos2d  0.9及以下版本中,CCAnimation中可以使用animationWit ...

  8. 【游戏分析】《大王不高兴》1.4.0.0版本 游戏体验分析总结

    <大王不高兴>1.4.0.0版本 游戏体验分析总结 <大王不高兴>由中国人气漫画家使徒子与知名研发商灵游坊双巨头联合打造,是一款中国超人气漫画改编的手游,游戏玩法采二次元策略回 ...

  9. 高版本android怎么玩低版本游戏,手机玩安卓系统安装变态版手游常见问题解决方法_android游戏安装教程详解...

    有小伙伴表示在下载安装手机玩游戏盒子的提供的变态游戏过程中会遇到"无法安装"."未知来源"."具有安全隐患"等问题,为了帮助大家解决这一问题 ...

最新文章

  1. 记工作中的git遇到的问题
  2. c++派生类和基类的构造函数和析构函数
  3. 微信小程序部分功能介绍和实现
  4. GitHub上值得收藏的100个精选前端项目!
  5. P3295-[SCOI2016]萌萌哒【ST表,并查集】
  6. Redis 发布订阅,小功能大用处,真没那么废材!
  7. hadoop 自定义分区
  8. JAVA常用API或编程工具002---SpringSource Tool Suite:基于Eclipse的Spring应用开发环境
  9. python打包,上传包知识点学习
  10. ASCⅡ码与字符的相互转化
  11. Read-a-Card 读取 RFID 卡
  12. 用mac系统怎么连宽带连接服务器吗,苹果电脑怎么连宽带_MAC系统怎么连接有线宽带-win7之家...
  13. NXP MPC574x LinFlexd配置和DMA配置
  14. Huffman图像压缩
  15. Windows输入法注入原理
  16. idea最新版下载安装使用
  17. Windows App开发之开发准备
  18. java 分班_java培优分班考试试题
  19. MIPCMS-005高仿JustNews自适应博客资讯模版
  20. 如何压缩PDF文件 压缩PDF文件的详细图文步骤

热门文章

  1. COMPUTEX 2021线上展首周热门趋势及议题
  2. 【中兴】web训练营~一文带你走进前端 百图制作
  3. 《广东省智慧高速公路建设指南(试行)》发布(附下载)
  4. android系统精简,高通支持Android 8.1精简版,专为512MB或1GB内存设计
  5. ASQ分析1-基于AQS自定义锁分析
  6. Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的重温
  7. 部署一个合约花费了3.5ETH - GasLimit和GasPrice谨慎设值区间
  8. 电子万能试验机门式与单臂式结构,区别还是蛮大的
  9. 干货 | 开关电源为什么要接假负载?答案给你总结好了
  10. 带时间码方式,将DV带刻录为DVD的全过程