Cocos2d-x3.1下 Android,APK自动升级

项目要做Android的自动升级,对于我们之前做iOS的转Cocos开发做Android方面的功能。。。。。

不对说了。这里记录下我的实现过程。

原文地址:http://www.jb51.cc/article/p-pjkzfjhe-qr.html

首先我们要先知道Cocos下Android有几个Activity,我推测是只有一个,如果不对的话请批评指正啊。

所以我们要在主Activity也就是AppActivity.java里面添加如下代码:

  1. staticAppActivityactivity=null;//一定要静态对象
  2. @Override
  3. protectedvoidonCreate(BundlesavedInstanceState)
  4. {
  5. //TODOAuto-generatedmethodstub
  6. super.onCreate(savedInstanceState);
  7. activity=this;
  8. }
  9. publicstaticObjectcppCall_logsth(Stringname)
  10. {
  11. returnactivity;
  12. }
  13. publicvoidupdateversion(Stringname)
  14. Log.i("ddd","开始更新");
  15. //下面三行就是Android更新APK的关键name是apk的路径
  16. Intentintent=newIntent(Intent.ACTION_VIEW);
  17. intent.setDataAndType(Uri.fromFile(newFile(name)),
  18. "application/vnd.android.package-archive");
  19. activity.startActivity(intent);
  20. }

之后就是我们在cocos下用C++写了。

首先添加头文件

[cpp] copy
?
    #if(CC_TARGET_PLATFORM==CC_PLATFORM_ANDROID)
  1. #include<jni.h>
  2. #include"../../cocos2d/cocos/platform/android/jni/JniHelper.h"//这里的路径要根据你工程的实际情况进行更改
  3. #include<android/log.h>
  4. #if1
  5. #defineLOG_TAG"JniHelper"
  6. #defineLOGD(...)__android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
  7. #else
  8. #defineLOGD(...)
  9. #endif
  10. #endif

下面具体的C++调用Android的代码。如果对NDK不熟,可以百度下C++和Android调用

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...