SdkProject/build.gradle | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
SdkProject/library/build.gradle | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
SdkProject/library/src/main/AndroidManifest.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
SdkProject/library/src/main/java/com/secondworld/universalsdk/BaseApplication.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
SdkProject/library/src/main/java/com/secondworld/universalsdk/H2EngineSDK.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
SdkProject/library/src/main/java/com/secondworld/universalsdk/LogUtil.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
SdkProject/library/src/main/java/com/secondworld/universalsdk/command/CmdInit.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
SdkProject/build.gradle
@@ -3,10 +3,10 @@ repositories { google() jcenter() maven { url 'https://jitpack.io' } } dependencies { classpath "com.android.tools.build:gradle:4.1.0" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } @@ -16,6 +16,7 @@ repositories { google() jcenter() maven { url 'https://jitpack.io' } } } SdkProject/library/build.gradle
@@ -138,5 +138,6 @@ androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' implementation 'com.github.pqpo:Log4a:1.4.2@aar' implementation files('libs/unity-classes.jar') } SdkProject/library/src/main/AndroidManifest.xml
@@ -2,4 +2,6 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.secondworld.universalsdk"> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> </manifest> SdkProject/library/src/main/java/com/secondworld/universalsdk/BaseApplication.java
@@ -2,6 +2,8 @@ import android.app.Application; import me.pqpo.librarylog4a.Log4a; public class BaseApplication extends Application { public static Application APP; @@ -10,7 +12,13 @@ public void onCreate() { super.onCreate(); APP = this; InitSdk(); } public void InitSdk(){ LogUtil.Init(this); H2EngineSDK.initCommandMap(); } } SdkProject/library/src/main/java/com/secondworld/universalsdk/H2EngineSDK.java
@@ -28,6 +28,7 @@ try { for (String name : classesName) { Class<?> aClass = Class.forName(name); if (!aClass.isInterface()) addCommand((ICommand) aClass.newInstance()); } } catch (Exception e) { @@ -41,15 +42,17 @@ /** * unity 发来的消息 * * @param json */ public static void HandleUnityMessage(String json) { try { LogUtil.debug("HandleUnityMessage", json); JSONObject _json = new JSONObject(json); int code = _json.getInt("code"); ICommand command = allCommand.get(code); if (command == null) { Log.e("H2EngineSDK", "未知命令"); return; } command.process(json); @@ -59,6 +62,7 @@ /** * 通过反射读取指定包名下的所有类名 * * @param packageName * @return */ SdkProject/library/src/main/java/com/secondworld/universalsdk/LogUtil.java
New file @@ -0,0 +1,94 @@ package com.secondworld.universalsdk; import android.content.Context; import android.util.Log; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import me.pqpo.librarylog4a.Level; import me.pqpo.librarylog4a.Log4a; import me.pqpo.librarylog4a.LogData; import me.pqpo.librarylog4a.appender.AndroidAppender; import me.pqpo.librarylog4a.appender.FileAppender; import me.pqpo.librarylog4a.formatter.DateFileFormatter; import me.pqpo.librarylog4a.interceptor.Interceptor; import me.pqpo.librarylog4a.logger.AppenderLogger; public class LogUtil { private static final int BUFFER_SIZE = 1024 * 1024; //日志缓存大小 private static final boolean DEBUG = BuildConfig.DEBUG; private static final String GLOBAL_TAG = "H2EngineSDK"; public static void Init(Context context) { int level = Level.VERBOSE; Interceptor wrapInterceptor = new Interceptor() { @Override public boolean intercept(LogData logData) { logData.tag = "-" + logData.tag + ":"; return true; } }; AndroidAppender androidAppender = new AndroidAppender.Builder() .setLevel(level) .addInterceptor(wrapInterceptor) .create(); File logDir = new File(context.getExternalCacheDir() + "/logs/"); String buffer_path = logDir.getAbsolutePath() + File.separator + ".logCache"; String time = new SimpleDateFormat("yyyy_MM_dd", Locale.getDefault()).format(new Date()); String log_path = logDir.getAbsolutePath() + File.separator + time + ".txt"; FileAppender fileAppender = new FileAppender.Builder(context) .setLogFilePath(log_path) .setLevel(level) .addInterceptor(wrapInterceptor) .setBufferFilePath(buffer_path) .setFormatter(new DateFileFormatter()) .setCompress(false) .setBufferSize(BUFFER_SIZE) .create(); AppenderLogger logger = new AppenderLogger.Builder() .addAppender(fileAppender) .create(); Log4a.setLogger(logger); } private static void print(int level, String tag, String msg, boolean debug) { if (DEBUG || debug)//控制台输出 Log.println(level, String.format("%s-%s", GLOBAL_TAG, tag), msg); else//写入本地文件 Log4a.println(level, tag, msg); } public static void debug(String tag, String msg) { print(Level.ERROR, tag, msg, true); } public static void v(String tag, String msg) { print(Level.VERBOSE, tag, msg, false); } public static void d(String tag, String msg) { print(Level.DEBUG, tag, msg, false); } public static void i(String tag, String msg) { print(Level.INFO, tag, msg, false); } public static void w(String tag, String msg) { print(Level.WARN, tag, msg, false); } public static void e(String tag, String msg) { print(Level.ERROR, tag, msg, false); } } SdkProject/library/src/main/java/com/secondworld/universalsdk/command/CmdInit.java
@@ -1,7 +1,5 @@ package com.secondworld.universalsdk.command; import android.util.Log; import com.secondworld.universalsdk.CodeU2A; /** @@ -15,6 +13,6 @@ @Override public void process(String json) { Log.e("ICommand", "游戏初始化!!!!!!!!!!!"); } }