Browse Source

1.增加友盟推送
2.增加友盟统计
3.处理jar冲突问题

FailedToRead 2 years ago
parent
commit
741a4571ae
39 changed files with 7133 additions and 7436 deletions
  1. BIN
      .idea/caches/build_file_checksums.ser
  2. 10 0
      .idea/jarRepositories.xml
  3. 53 14
      .idea/modules/app/proj.android-studio.efunbox-ott-launcher.iml
  4. 5 0
      .idea/modules/game/proj.android-studio.game.iml
  5. 735 735
      app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/android_gradle_build.json
  6. 10 10
      app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/android_gradle_build_mini.json
  7. 1 1
      app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_command.txt
  8. 365 737
      app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_output.txt
  9. 735 735
      app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/android_gradle_build.json
  10. 10 10
      app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/android_gradle_build_mini.json
  11. 1 1
      app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_command.txt
  12. 365 737
      app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_output.txt
  13. 65 2
      app/AndroidManifest.xml
  14. 163 3
      app/build.gradle
  15. 50 0
      app/src/com/edufound/mobile/push/MfrMessageActivity.java
  16. 6 0
      app/src/com/edufound/mobile/receiver/MfrMzMessageReceiver.java
  17. 7 0
      app/src/main/res/layout/activity_push.xml
  18. 6 0
      build.gradle
  19. 735 735
      game/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/android_gradle_build.json
  20. 10 10
      game/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/android_gradle_build_mini.json
  21. 1 1
      game/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_command.txt
  22. 365 365
      game/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_output.txt
  23. 735 735
      game/.externalNativeBuild/ndkBuild/debugFeature/armeabi-v7a/android_gradle_build.json
  24. 10 10
      game/.externalNativeBuild/ndkBuild/debugFeature/armeabi-v7a/android_gradle_build_mini.json
  25. 1 1
      game/.externalNativeBuild/ndkBuild/debugFeature/armeabi-v7a/ndkBuild_build_command.txt
  26. 365 365
      game/.externalNativeBuild/ndkBuild/debugFeature/armeabi-v7a/ndkBuild_build_output.txt
  27. 735 735
      game/.externalNativeBuild/ndkBuild/release/armeabi-v7a/android_gradle_build.json
  28. 10 10
      game/.externalNativeBuild/ndkBuild/release/armeabi-v7a/android_gradle_build_mini.json
  29. 1 1
      game/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_command.txt
  30. 365 365
      game/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_output.txt
  31. 735 735
      game/.externalNativeBuild/ndkBuild/releaseFeature/armeabi-v7a/android_gradle_build.json
  32. 10 10
      game/.externalNativeBuild/ndkBuild/releaseFeature/armeabi-v7a/android_gradle_build_mini.json
  33. 1 1
      game/.externalNativeBuild/ndkBuild/releaseFeature/armeabi-v7a/ndkBuild_build_command.txt
  34. 365 365
      game/.externalNativeBuild/ndkBuild/releaseFeature/armeabi-v7a/ndkBuild_build_output.txt
  35. 1 1
      gradle.properties
  36. BIN
      libs/alipaySdk-20180601.jar
  37. 14 6
      src/org/cocos2dx/javascript/AppActivity.java
  38. 43 0
      src/org/cocos2dx/javascript/application/EApplication.java
  39. 44 0
      src/org/cocos2dx/javascript/presenter/MainPresenter.java

BIN
.idea/caches/build_file_checksums.ser


+ 10 - 0
.idea/jarRepositories.xml

@@ -36,5 +36,15 @@
       <option name="name" value="G:\AndroidStudio\sdk\extras\google\m2repository" />
       <option name="url" value="file:/$PROJECT_DIR$/../../../../../../AndroidStudio/sdk/extras/google/m2repository/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven" />
+      <option name="name" value="maven" />
+      <option name="url" value="https://repo1.maven.org/maven2/" />
+    </remote-repository>
+    <remote-repository>
+      <option name="id" value="maven2" />
+      <option name="name" value="maven2" />
+      <option name="url" value="https://developer.huawei.com/repo/" />
+    </remote-repository>
   </component>
 </project>

File diff suppressed because it is too large
+ 53 - 14
.idea/modules/app/proj.android-studio.efunbox-ott-launcher.iml


+ 5 - 0
.idea/modules/game/proj.android-studio.game.iml

@@ -189,6 +189,11 @@
     </content>
     <content url="file://$MODULE_DIR$/../../../game">
       <sourceFolder url="file://$MODULE_DIR$/../../../game/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/../../../game/build/generated/res/resValues/release" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/../../../game/build/generated/res/rs/release" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/../../../game/build/generated/source/apt/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../../game/build/generated/source/buildConfig/release" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/../../../game/build/generated/source/rs/release" isTestSource="false" generated="true" />
       <excludeFolder url="file://$MODULE_DIR$/../../../game/.cxx" />
       <excludeFolder url="file://$MODULE_DIR$/../../../game/.externalNativeBuild" />
       <excludeFolder url="file://$MODULE_DIR$/../../../game/.gradle" />

File diff suppressed because it is too large
+ 735 - 735
app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/android_gradle_build.json


File diff suppressed because it is too large
+ 10 - 10
app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/android_gradle_build_mini.json


+ 1 - 1
app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_command.txt

@@ -6,7 +6,7 @@ NDK_APPLICATION_MK=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\pr
 APP_ABI=armeabi-v7a
 NDK_ALL_ABIS=armeabi-v7a
 NDK_DEBUG=1
-APP_PLATFORM=android-16
+APP_PLATFORM=android-19
 NDK_OUT=G:/WorkSpace/efunbox-build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/debug/obj
 NDK_LIBS_OUT=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\debug\lib
 NDK_TOOLCHAIN_VERSION=clang

File diff suppressed because it is too large
+ 365 - 737
app/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_output.txt


File diff suppressed because it is too large
+ 735 - 735
app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/android_gradle_build.json


File diff suppressed because it is too large
+ 10 - 10
app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/android_gradle_build_mini.json


+ 1 - 1
app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_command.txt

@@ -6,7 +6,7 @@ NDK_APPLICATION_MK=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\pr
 APP_ABI=armeabi-v7a
 NDK_ALL_ABIS=armeabi-v7a
 NDK_DEBUG=0
-APP_PLATFORM=android-16
+APP_PLATFORM=android-19
 NDK_OUT=G:/WorkSpace/efunbox-build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build/intermediates/ndkBuild/release/obj
 NDK_LIBS_OUT=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\proj.android-studio\app\build\intermediates\ndkBuild\release\lib
 NDK_TOOLCHAIN_VERSION=clang

File diff suppressed because it is too large
+ 365 - 737
app/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_output.txt


+ 65 - 2
app/AndroidManifest.xml

@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:tools="http://schemas.android.com/tools"
         package="com.edufound.mobile"
         android:installLocation="auto">
 
@@ -25,9 +26,10 @@
     <application
             android:name="org.cocos2dx.javascript.application.EApplication"
             android:allowBackup="true"
-            android:icon="@drawable/icon"
+            android:icon="${icon}"
             android:label="@string/app_name"
-            android:usesCleartextTraffic="true">
+            android:usesCleartextTraffic="true"
+            tools:replace="allowBackup">
         <!-- Tell Cocos2dxActivity the name of our .so -->
         <meta-data
                 android:name="android.app.lib_name"
@@ -46,6 +48,17 @@
 
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+
+                <data
+                        android:host="com.edufound.mobile"
+                        android:path="/main"
+                        android:scheme="efunbox" />
+            </intent-filter>
         </activity>
 
         <!--联通电信授权页  -->
@@ -103,6 +116,56 @@
                 android:screenOrientation="behind"
                 android:windowSoftInputMode="adjustResize|stateHidden"></activity>
 
+
+        <!-- 友盟推送小米start-->
+        <activity
+                android:name=".push.MfrMessageActivity"
+                android:exported="true"
+                android:launchMode="singleTask">
+            <intent-filter>
+                <action android:name="android.intent.action.VIEW" />
+
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.BROWSABLE" />
+
+                <data
+                        android:host="com.edufound.mobile"
+                        android:path="/thirdpush"
+                        android:scheme="agoo" />
+            </intent-filter>
+        </activity>
+        <!-- 友盟推送小米end-->
+
+        <!-- 友盟推送魅族-->
+        <receiver android:name=".receiver.MfrMzMessageReceiver">
+            <intent-filter>
+                <action android:name="com.meizu.flyme.push.intent.MESSAGE" />
+                <action android:name="com.meizu.flyme.push.intent.REGISTER.FEEDBACK" />
+                <action android:name="com.meizu.flyme.push.intent.UNREGISTER.FEEDBACK" />
+                <action android:name="com.meizu.c2dm.intent.REGISTRATION" />
+                <action android:name="com.meizu.c2dm.intent.RECEIVE" />
+                <category android:name="com.edufound.mobile" />
+            </intent-filter>
+        </receiver>
+        <!-- 友盟推送魅族end-->
+
+        <!-- 友盟厂商VIVO-->
+        <meta-data
+                android:name="com.vivo.push.api_key"
+                android:value="xxx" />
+        <meta-data
+                android:name="com.vivo.push.app_id"
+                android:value="xxx" />
+        <!-- 友盟厂商VIVOend-->
+        <!--友盟start-->
+        <meta-data
+                android:name="UMENG_APPKEY"
+                android:value="5e34d2fb4ca3574b1800005b" />
+        <meta-data
+                android:name="UMENG_CHANNEL"
+                android:value="${UMENG_CHANNEL_VALUE}" />
+        <!--友盟end-->
+
     </application>
 
 </manifest>

+ 163 - 3
app/build.gradle

@@ -2,6 +2,10 @@ import org.apache.tools.ant.taskdefs.condition.Os
 
 apply plugin: 'com.android.application'
 
+def releaseTime() {
+    return new Date().format("yyyyMMdd", TimeZone.getTimeZone("UTC"))
+}
+
 android {
     compileSdkVersion PROP_COMPILE_SDK_VERSION.toInteger()
     buildToolsVersion PROP_BUILD_TOOLS_VERSION
@@ -11,7 +15,9 @@ android {
         minSdkVersion PROP_MIN_SDK_VERSION
         targetSdkVersion PROP_TARGET_SDK_VERSION
         versionCode 91000
-        versionName "9.1"
+        versionName "9.1.0.0.0"
+        flavorDimensions "versionCode"
+        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "2006"]//添加一个默认渠道号
         ndk {
             abiFilters 'armeabi-v7a'
         }
@@ -56,7 +62,6 @@ android {
     }
 
     signingConfigs {
-
         release {
             if (project.hasProperty("RELEASE_STORE_FILE")) {
                 storeFile file(RELEASE_STORE_FILE)
@@ -74,11 +79,45 @@ android {
             renderscriptDebuggable false
             minifyEnabled true
             shrinkResources true
+            zipAlignEnabled true
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
             if (project.hasProperty("RELEASE_STORE_FILE")) {
                 signingConfig signingConfigs.release
             }
 
+            applicationVariants.all { variant ->
+                variant.outputs.each { output ->
+                    def outputFile = output.outputFileName
+                    if (outputFile != null && output.outputFileName.endsWith('.apk')) {
+                        def fileName = "efunbox_tv_v${defaultConfig.versionCode}_${releaseTime()}_${variant.productFlavors[0].manifestPlaceholders.UMENG_CHANNEL_VALUE}_r.apk"
+                        def channel = variant.productFlavors[0].manifestPlaceholders.UMENG_CHANNEL_VALUE;
+                        def newoutputFile = "";
+                        if (channel == ("2006")) {
+                            newoutputFile = "\\义方\\"
+                        } else if (channel == ("2001")) {
+                            newoutputFile = "\\应用宝\\"
+                        } else if (channel == ("2002")) {
+                            newoutputFile = "\\360应用市场\\"
+                        } else if (channel == ("2003")) {
+                            newoutputFile = "\\百度手机助手\\"
+                        } else if (channel == ("2008")) {
+                            newoutputFile = "\\小米\\"
+                        } else if (channel == ("2012")) {
+                            newoutputFile = "\\华科\\"
+                        } else if (channel == ("2013")) {
+                            newoutputFile = "\\步步高\\"
+                        } else if (channel == ("2015")) {
+                            newoutputFile = "\\状元才子\\"
+                        } else if (channel == ("2011")) {
+                            newoutputFile = "\\广西优学\\"
+                        } else if (channel == ("2007")) {
+                            newoutputFile = "\\vivo\\"
+                        }
+                        output.outputFileName = new File(newoutputFile, fileName)
+                    }
+                }
+
+            }
             externalNativeBuild {
                 ndkBuild {
                     arguments 'NDK_DEBUG=0'
@@ -97,6 +136,101 @@ android {
 //            }
 //        }
     }
+    productFlavors {
+        //义方
+        channel_efunbox {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2006",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //应用宝
+        channel_yyb {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2001",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //360应用市场
+        channel_360 {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2002",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //百度手机助手
+        channel_bdsjzs {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2003",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //vivo
+        channel_vivo {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2007",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //小米
+        channel_xiaomi {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2008",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //华科
+        channel_huake {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2012",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //步步高
+        channel_bubugao {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2013",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //状元才子
+        channel_zhuangyuancaizi {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2015",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //广西优学
+        channel_guangxiyouxue {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2011",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+        //字节跳动
+        channel_bytedance {
+            signingConfig signingConfigs.release
+            manifestPlaceholders = [
+                    appCode: "2020",
+                    appIcon: "@drawable/icon",
+            ]
+        }
+    }
+    productFlavors.all {
+        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: manifestPlaceholders.appCode, icon: manifestPlaceholders.appIcon]
+    }
+
+
 }
 
 android.applicationVariants.all { variant ->
@@ -127,6 +261,7 @@ android.applicationVariants.all { variant ->
             into outputDir
         }
     }
+
 }
 
 dependencies {
@@ -140,4 +275,29 @@ dependencies {
     implementation "com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+"
     implementation project(':libcocos2dx')
 
-}
+
+    // 友盟基础组件库(所有友盟业务SDK都依赖基础组件库)
+    implementation 'com.umeng.umsdk:common:9.4.4'// (必选)
+    implementation 'com.umeng.umsdk:asms:1.4.1'// asms包依赖必选
+
+//    implementation 'com.umeng.umsdk:abtest:1.0.0'//使用U-App中ABTest能力,可选
+
+    //友盟Push依赖
+    api 'com.umeng.umsdk:push:6.4.5'
+    //友盟P厂商推送渠道(小米)
+    api 'com.umeng.umsdk:xiaomi-umengaccs:1.2.6'
+    implementation 'com.umeng.umsdk:xiaomi-push:4.8.1'
+
+    //友盟P厂商推送(华为)
+    api 'com.umeng.umsdk:huawei-umengaccs:1.3.5'
+    api 'com.huawei.hms:push:5.3.0.304'
+    //友盟厂商推送(魅族)
+    api 'com.umeng.umsdk:meizu-umengaccs:1.1.5'
+    api 'com.umeng.umsdk:meizu-push:4.1.4'
+    //友盟厂商推送(OPPO)
+    api 'com.umeng.umsdk:oppo-umengaccs:1.0.7-fix'
+    implementation 'com.umeng.umsdk:oppo-push:2.1.0'
+    //友盟厂商(ViVo)
+    api 'com.umeng.umsdk:vivo-umengaccs:1.1.5'
+    implementation 'com.umeng.umsdk:vivo-push:3.0.0.3'
+}

+ 50 - 0
app/src/com/edufound/mobile/push/MfrMessageActivity.java

@@ -0,0 +1,50 @@
+package com.edufound.mobile.push;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+
+import com.edufound.mobile.R;
+import com.umeng.message.UmengNotifyClickActivity;
+
+import org.android.agoo.common.AgooConstants;
+import org.cocos2dx.javascript.util.Logger;
+
+public class MfrMessageActivity extends UmengNotifyClickActivity {
+
+    Activity mActivity;
+
+    @Override
+    protected void onCreate(Bundle bundle) {
+        super.onCreate(bundle);
+//        setContentView(R.layout.activity_push);
+        mActivity = this;
+    }
+
+    @Override
+    public void onMessage(Intent intent) {
+        super.onMessage(intent);
+        Bundle bundle = intent.getExtras();
+        if (bundle != null) {
+            Logger.e("bundle: " + bundle);
+        }
+        String body = intent.getStringExtra(AgooConstants.MESSAGE_BODY);
+        Logger.e("body: " + body);
+        if (!TextUtils.isEmpty(body)) {
+//            runOnUiThread(() -> ((TextView) findViewById(R.id.tv)).setText(body));
+            AlertDialog.Builder builder = new AlertDialog.Builder((this));
+            builder.setMessage(body);
+            builder.setTitle("消息通知");
+            builder.setNegativeButton("确定", new DialogInterface.OnClickListener() {
+                @Override
+                public void onClick(DialogInterface dialog, int which) {
+                    dialog.dismiss();
+                    mActivity.finish();
+                }
+            });
+        }
+    }
+}

+ 6 - 0
app/src/com/edufound/mobile/receiver/MfrMzMessageReceiver.java

@@ -0,0 +1,6 @@
+package com.edufound.mobile.receiver;
+
+import org.android.agoo.mezu.MeizuPushReceiver;
+
+public class MfrMzMessageReceiver extends MeizuPushReceiver {
+}

+ 7 - 0
app/src/main/res/layout/activity_push.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+
+</FrameLayout>

+ 6 - 0
build.gradle

@@ -5,9 +5,12 @@ buildscript {
     repositories {
         google()
         jcenter()
+        maven { url 'https://repo1.maven.org/maven2/' }
+        maven { url 'https://developer.huawei.com/repo/' }
     }
     dependencies {
         classpath 'com.android.tools.build:gradle:3.2.0'
+        classpath 'com.huawei.agconnect:agcp:1.4.2.300'
 
 
         // NOTE: Do not place your application dependencies here; they belong
@@ -22,6 +25,9 @@ allprojects {
         flatDir {
             dirs 'libs'
         }
+        maven { url 'https://repo1.maven.org/maven2/' }
+        maven { url 'https://developer.huawei.com/repo/' }
+        maven { url 'https://repo1.maven.org/maven2/' }
     }
 }
 

File diff suppressed because it is too large
+ 735 - 735
game/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/android_gradle_build.json


File diff suppressed because it is too large
+ 10 - 10
game/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/android_gradle_build_mini.json


+ 1 - 1
game/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_command.txt

@@ -6,7 +6,7 @@ NDK_APPLICATION_MK=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\pr
 APP_ABI=armeabi-v7a
 NDK_ALL_ABIS=armeabi-v7a
 NDK_DEBUG=1
-APP_PLATFORM=android-16
+APP_PLATFORM=android-19
 NDK_OUT=G:/WorkSpace/efunbox-build/jsb-link/frameworks/runtime-src/proj.android-studio/game/build/intermediates/ndkBuild/debug/obj
 NDK_LIBS_OUT=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\proj.android-studio\game\build\intermediates\ndkBuild\debug\lib
 NDK_TOOLCHAIN_VERSION=clang

File diff suppressed because it is too large
+ 365 - 365
game/.externalNativeBuild/ndkBuild/debug/armeabi-v7a/ndkBuild_build_output.txt


File diff suppressed because it is too large
+ 735 - 735
game/.externalNativeBuild/ndkBuild/debugFeature/armeabi-v7a/android_gradle_build.json


File diff suppressed because it is too large
+ 10 - 10
game/.externalNativeBuild/ndkBuild/debugFeature/armeabi-v7a/android_gradle_build_mini.json


+ 1 - 1
game/.externalNativeBuild/ndkBuild/debugFeature/armeabi-v7a/ndkBuild_build_command.txt

@@ -6,7 +6,7 @@ NDK_APPLICATION_MK=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\pr
 APP_ABI=armeabi-v7a
 NDK_ALL_ABIS=armeabi-v7a
 NDK_DEBUG=1
-APP_PLATFORM=android-16
+APP_PLATFORM=android-19
 NDK_OUT=G:/WorkSpace/efunbox-build/jsb-link/frameworks/runtime-src/proj.android-studio/game/build/intermediates/ndkBuild/feature/debug/obj
 NDK_LIBS_OUT=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\proj.android-studio\game\build\intermediates\ndkBuild\feature\debug\lib
 NDK_TOOLCHAIN_VERSION=clang

File diff suppressed because it is too large
+ 365 - 365
game/.externalNativeBuild/ndkBuild/debugFeature/armeabi-v7a/ndkBuild_build_output.txt


File diff suppressed because it is too large
+ 735 - 735
game/.externalNativeBuild/ndkBuild/release/armeabi-v7a/android_gradle_build.json


File diff suppressed because it is too large
+ 10 - 10
game/.externalNativeBuild/ndkBuild/release/armeabi-v7a/android_gradle_build_mini.json


+ 1 - 1
game/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_command.txt

@@ -6,7 +6,7 @@ NDK_APPLICATION_MK=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\pr
 APP_ABI=armeabi-v7a
 NDK_ALL_ABIS=armeabi-v7a
 NDK_DEBUG=0
-APP_PLATFORM=android-16
+APP_PLATFORM=android-19
 NDK_OUT=G:/WorkSpace/efunbox-build/jsb-link/frameworks/runtime-src/proj.android-studio/game/build/intermediates/ndkBuild/release/obj
 NDK_LIBS_OUT=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\proj.android-studio\game\build\intermediates\ndkBuild\release\lib
 NDK_TOOLCHAIN_VERSION=clang

File diff suppressed because it is too large
+ 365 - 365
game/.externalNativeBuild/ndkBuild/release/armeabi-v7a/ndkBuild_build_output.txt


File diff suppressed because it is too large
+ 735 - 735
game/.externalNativeBuild/ndkBuild/releaseFeature/armeabi-v7a/android_gradle_build.json


File diff suppressed because it is too large
+ 10 - 10
game/.externalNativeBuild/ndkBuild/releaseFeature/armeabi-v7a/android_gradle_build_mini.json


+ 1 - 1
game/.externalNativeBuild/ndkBuild/releaseFeature/armeabi-v7a/ndkBuild_build_command.txt

@@ -6,7 +6,7 @@ NDK_APPLICATION_MK=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\pr
 APP_ABI=armeabi-v7a
 NDK_ALL_ABIS=armeabi-v7a
 NDK_DEBUG=0
-APP_PLATFORM=android-16
+APP_PLATFORM=android-19
 NDK_OUT=G:/WorkSpace/efunbox-build/jsb-link/frameworks/runtime-src/proj.android-studio/game/build/intermediates/ndkBuild/feature/release/obj
 NDK_LIBS_OUT=G:\WorkSpace\efunbox-build\jsb-link\frameworks\runtime-src\proj.android-studio\game\build\intermediates\ndkBuild\feature\release\lib
 NDK_TOOLCHAIN_VERSION=clang

File diff suppressed because it is too large
+ 365 - 365
game/.externalNativeBuild/ndkBuild/releaseFeature/armeabi-v7a/ndkBuild_build_output.txt


+ 1 - 1
gradle.properties

@@ -15,7 +15,7 @@
 # Android SDK version that will be used as the compile project
 PROP_COMPILE_SDK_VERSION=28
 # Android SDK version that will be used as the earliest version of android this application can run on
-PROP_MIN_SDK_VERSION=16
+PROP_MIN_SDK_VERSION=19
 # Android SDK version that will be used as the latest version of android this application has been tested on
 PROP_TARGET_SDK_VERSION=28
 # Android Build Tools version that will be used as the compile project

BIN
libs/alipaySdk-20180601.jar


+ 14 - 6
src/org/cocos2dx/javascript/AppActivity.java

@@ -37,6 +37,8 @@ import android.widget.ImageView;
 
 import com.edufound.mobile.R;
 import com.google.gson.Gson;
+import com.umeng.analytics.MobclickAgent;
+import com.umeng.commonsdk.UMConfigure;
 
 import org.cocos2dx.javascript.presenter.MainPresenter;
 import org.cocos2dx.javascript.util.Consts;
@@ -107,20 +109,24 @@ public class AppActivity extends Cocos2dxActivity {
 
     @Override
     protected void onResume() {
+        MobclickAgent.onResume(this);
         super.onResume();
         SDKWrapper.getInstance().onResume();
-        Logger.e("onResume");
+//        Logger.e("onResume");
 
     }
 
     @Override
     protected void onPause() {
+        MobclickAgent.onPause(this);
+        MobclickAgent.onProfileSignOff();
         super.onPause();
         SDKWrapper.getInstance().onPause();
         Logger.e("onPause");
 
     }
 
+
     @Override
     protected void onDestroy() {
         super.onDestroy();
@@ -205,11 +211,8 @@ public class AppActivity extends Cocos2dxActivity {
 //            mHomeIntent.addCategory(Intent.CATEGORY_HOME);
 //            mHomeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
 //            Consts.mApplicatonContext.startActivity(mHomeIntent);
-
-
-        
-
-
+//        onResume();
+//        mPresenter.windowFocus(hasFocus);
     }
 
     @Override
@@ -217,4 +220,9 @@ public class AppActivity extends Cocos2dxActivity {
 //        return super.onKeyDown(keyCode, event);
         return mPresenter.onKeyDown(keyCode, event);
     }
+
+
+    public FrameLayout getWindowFrame() {
+        return mFrameLayout;
+    }
 }

+ 43 - 0
src/org/cocos2dx/javascript/application/EApplication.java

@@ -4,7 +4,14 @@ import android.app.Application;
 import android.content.Context;
 
 
+import com.umeng.commonsdk.UMConfigure;
+import com.umeng.commonsdk.utils.UMUtils;
+import com.umeng.message.PushAgent;
+import com.umeng.message.api.UPushRegisterCallback;
+import com.xiaomi.mipush.sdk.PushMessageHelper;
+
 import org.cocos2dx.javascript.util.Consts;
+import org.cocos2dx.javascript.util.Logger;
 import org.cocos2dx.lib.MediaPlayerManager;
 
 
@@ -13,7 +20,22 @@ public class EApplication extends Application {
     public void onCreate() {
         super.onCreate();
         Consts.mApplicatonContext = getApplicationContext();
+        UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "dfc59afd6dc6b1550ff1c2e0c7eb10fd");
+        UMConfigure.setLogEnabled(true);
 //        MediaPlayerManager.getDefault().init(Consts.mApplicatonContext, getPackageName());
+        boolean isMainProcess = UMUtils.isMainProgress(this);
+        if (isMainProcess) {
+            //启动优化:建议在子线程中执行初始化
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    PushHelper.init(getApplicationContext());
+                }
+            }).start();
+        } else {
+            //若不是主进程(":channel"结尾的进程),直接初始化sdk,不可在子线程中执行
+            PushHelper.init(getApplicationContext());
+        }
     }
 
     @Override
@@ -21,3 +43,24 @@ public class EApplication extends Application {
         super.attachBaseContext(base);
     }
 }
+
+class PushHelper {
+    public static void init(Context context) {
+        //获取消息推送实例
+        PushAgent pushAgent = PushAgent.getInstance(context);
+        //注册推送服务,每次调用register方法都会回调该接口
+        pushAgent.register(new UPushRegisterCallback() {
+
+            @Override
+            public void onSuccess(String deviceToken) {
+                //注册成功会返回deviceToken deviceToken是推送消息的唯一标志
+                Logger.e("注册成功:deviceToken:--> " + deviceToken);
+            }
+
+            @Override
+            public void onFailure(String errCode, String errDesc) {
+                Logger.e("注册失败:--> " + "code:" + errCode + ", desc:" + errDesc);
+            }
+        });
+    }
+}

+ 44 - 0
src/org/cocos2dx/javascript/presenter/MainPresenter.java

@@ -1,5 +1,8 @@
 package org.cocos2dx.javascript.presenter;
 
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.graphics.Color;
 import android.os.Handler;
 import android.os.Message;
 import android.os.Process;
@@ -18,6 +21,7 @@ import com.tencent.mm.opensdk.modelbiz.WXLaunchMiniProgram;
 import com.tencent.mm.opensdk.modelpay.PayReq;
 import com.tencent.mm.opensdk.openapi.IWXAPI;
 import com.tencent.mm.opensdk.openapi.WXAPIFactory;
+import com.umeng.commonsdk.UMConfigure;
 
 import org.cocos2dx.javascript.AppActivity;
 import org.cocos2dx.javascript.bean.AliPayResult;
@@ -49,6 +53,9 @@ public class MainPresenter {
     public static String WX_APPID = "wx51acc19c8f7a0f6f";
     public static String WX_SECRET = "e830d45f497025041269ef6221140c3d";
 
+    //channel
+    public static String mChannelCode;
+
     public MainPresenter(AppActivity activity) {
         mActivity = activity;
         mGson = new Gson();
@@ -319,4 +326,41 @@ public class MainPresenter {
         }
     });
 
+
+    /*
+     * 设置整体的window背景颜色(16进制)
+     * */
+    public static void setWindowFrameColor(final String color) {
+        Logger.e("设置颜色:" + color);
+        mActivity.runOnUiThread(new Runnable() {
+            @Override
+            public void run() {
+                mActivity.getWindowFrame().setBackgroundColor(Color.parseColor(color));
+            }
+        });
+    }
+
+
+    public static String getChannelName() {
+        if (mChannelCode != null || !mChannelCode.equals("")) {
+            return mChannelCode;
+        } else {
+            try {
+                PackageManager packageManager = Consts.mApplicatonContext.getPackageManager();
+                if (packageManager != null) {
+                    //注意此处为ApplicationInfo 而不是 ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是某activity标签中,所以用ApplicationInfo
+                    ApplicationInfo applicationInfo = packageManager.
+                            getApplicationInfo(Consts.mApplicatonContext.getPackageName(), PackageManager.GET_META_DATA);
+                    if (applicationInfo != null) {
+                        if (applicationInfo.metaData != null) {
+                            mChannelCode = String.valueOf(applicationInfo.metaData.get("UMENG_CHANNEL"));
+                        }
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return mChannelCode;
+    }
 }