Prechádzať zdrojové kódy

v1.0.2开发:
1)修复忘记密码路由异常
2)修复悬浮窗绑定账号功能异常
3)sdk版本迭代1.0.2

#Suyghur 3 rokov pred
rodič
commit
b8a255d8f7
24 zmenil súbory, kde vykonal 100 pridanie a 117 odobranie
  1. 1 1
      config.gradle
  2. 4 2
      demo/build.gradle
  3. BIN
      demo/libs/library_core-release.aar
  4. 0 1
      demo/src/main/assets/yyxx_game/yyxx_cfg.properties
  5. 2 2
      demo/src/main/java/com/eyuangame/demo/DemoActivity.kt
  6. 1 1
      library_base/buildJar.gradle
  7. 2 2
      library_base/src/main/java/cn/yyxx/eyuangame/Version.kt
  8. 1 0
      library_base/src/main/java/cn/yyxx/eyuangame/base/utils/Logger.kt
  9. 6 1
      library_base/src/main/java/cn/yyxx/eyuangame/base/utils/ParamsUtils.kt
  10. 1 1
      library_core/build.gradle
  11. 1 1
      library_core/publish.gradle
  12. 0 82
      library_core/publish_old.gradle
  13. 47 3
      library_core/src/main/java/cn/yyxx/eyuangame/core/impl/center/BindAccountContainer.kt
  14. 3 1
      library_core/src/main/java/cn/yyxx/eyuangame/core/impl/center/BindPhoneContainer.kt
  15. 1 10
      library_core/src/main/java/cn/yyxx/eyuangame/core/impl/center/HybridFeatureContainer.kt
  16. 19 2
      library_core/src/main/java/cn/yyxx/eyuangame/core/impl/center/MemberCenterContainer.kt
  17. 1 1
      library_core/src/main/java/cn/yyxx/eyuangame/core/network/Host.kt
  18. 5 2
      library_core/src/main/java/cn/yyxx/eyuangame/core/network/VolleyRequest.kt
  19. 1 2
      library_core/src/main/java/cn/yyxx/eyuangame/core/ui/floatview/FloatingBall.kt
  20. 1 1
      library_hk_language/publish.gradle
  21. 1 0
      library_hk_language/src/main/res/values/yyxx_strings.xml
  22. 1 1
      library_vn_language/publish.gradle
  23. 1 0
      library_vn_language/src/main/res/values/yyxx_strings.xml
  24. BIN
      libs/eyuangamesdk_base_1.0.1.jar

+ 1 - 1
config.gradle

@@ -3,7 +3,7 @@ ext {
     module = [
             remoteLib    : false,
             minifyEnabled: true,
-            publish      : false,
+            publish      : true,
             language     : 2
     ]
 

+ 4 - 2
demo/build.gradle

@@ -64,9 +64,11 @@ android {
 dependencies {
     if (rootProject.ext.module.publish) {
         if (rootProject.ext.module.remoteLib) {
-            implementation 'io.github.yyxxgame.sdk:eyuangame-sdk-ktx:1.0.0'
+            implementation 'io.github.yyxxgame.sdk:eyuangame-sdk-ktx:1.0.2'
+            implementation 'io.github.yyxxgame.sdk:eyuangame-component-lang-vn:1.0.2'
         } else {
-            api(name: 'library_core-release', ext: 'aar')
+            implementation files('libs/library_core-release.aar')
+            implementation project(':library_vn_language')
 
             //mmkv
             implementation 'com.tencent:mmkv-static:1.2.10'

BIN
demo/libs/library_core-release.aar


+ 0 - 1
demo/src/main/assets/yyxx_game/yyxx_cfg.properties

@@ -1,4 +1,3 @@
-#出包版本
 YYXX_GCP_CODE=G010199
 #分包标识
 YYXX_GAME_CODE=100001

+ 2 - 2
demo/src/main/java/com/eyuangame/demo/DemoActivity.kt

@@ -292,12 +292,12 @@ class DemoActivity : Activity(), View.OnClickListener {
         exitProcess(0)
     }
 
-    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
         super.onActivityResult(requestCode, resultCode, data)
         EYuanGame.getInstance().onActivityResult(this, requestCode, resultCode, data)
     }
 
-    override fun onNewIntent(intent: Intent?) {
+    override fun onNewIntent(intent: Intent) {
         super.onNewIntent(intent)
         EYuanGame.getInstance().onNewIntent(this, intent)
     }

+ 1 - 1
library_base/buildJar.gradle

@@ -1,5 +1,5 @@
 def SDK_BASENAME = "eyuangamesdk_base"
-def SDK_VERSION = "1.0.1"
+def SDK_VERSION = "1.0.2"
 def SEPARATOR = "_"
 def sdkDestinationPath = "build/jar/"
 def zipFile = file('build/intermediates/aar_main_jar/release/classes.jar')

+ 2 - 2
library_base/src/main/java/cn/yyxx/eyuangame/Version.kt

@@ -5,7 +5,7 @@ package cn.yyxx.eyuangame
  * Created on 2021/06/09
  */
 object Version {
-    const val VERSION_NAME = "1.0.1"
-    const val VERSION_CODE = 101
+    const val VERSION_NAME = "1.0.2"
+    const val VERSION_CODE = 102
     const val SERVER_VERSION = "1.0.0"
 }

+ 1 - 0
library_base/src/main/java/cn/yyxx/eyuangame/base/utils/Logger.kt

@@ -17,6 +17,7 @@ object Logger {
 
     private var hasZapInit = false
 
+    @JvmStatic
     fun initZap(application: Application) {
         LogUtils.DEBUG = OwnDebugUtils.isOwnDebug(application, "yyxx_cfg.properties", "yyxx_game", "YYXX_OWN_DEBUG")
         val level = if (LogUtils.DEBUG) {

+ 6 - 1
library_base/src/main/java/cn/yyxx/eyuangame/base/utils/ParamsUtils.kt

@@ -18,6 +18,7 @@ object ParamsUtils {
     private const val YYXX_GOOGLE_CLIENT_ID = "YYXX_GOOGLE_CLIENT_ID"
     private const val YYXX_DO_MAIN_ENV = "YYXX_DO_MAIN_ENV"
 
+    @JvmStatic
     fun getGcpCode(context: Context): String {
         try {
             val code = PropertiesUtils.getValue4Properties(context, CONFIG_FILE, "yyxx_game", YYXX_GCP_CODE)
@@ -30,6 +31,7 @@ object ParamsUtils {
         return ""
     }
 
+    @JvmStatic
     fun getGameCode(context: Context): String {
         try {
             val code = PropertiesUtils.getValue4Properties(context, CONFIG_FILE, "yyxx_game", YYXX_GAME_CODE)
@@ -42,7 +44,7 @@ object ParamsUtils {
         return ""
     }
 
-
+    @JvmStatic
     fun getAdjustAppId(context: Context): String {
         try {
             val appId = PropertiesUtils.getValue4Properties(context, CONFIG_FILE, "yyxx_game", YYXX_ADJSUT_APP_ID)
@@ -55,6 +57,7 @@ object ParamsUtils {
         return ""
     }
 
+    @JvmStatic
     fun getGoogleAppId(context: Context): String {
         try {
             val appId = PropertiesUtils.getValue4Properties(context, CONFIG_FILE, "yyxx_game", YYXX_GOOGLE_APP_ID)
@@ -67,6 +70,7 @@ object ParamsUtils {
         return ""
     }
 
+    @JvmStatic
     fun getGoogleClientId(context: Context): String {
         try {
             val clientId = PropertiesUtils.getValue4Properties(context, CONFIG_FILE, "yyxx_game", YYXX_GOOGLE_CLIENT_ID)
@@ -79,6 +83,7 @@ object ParamsUtils {
         return ""
     }
 
+    @JvmStatic
     fun getDoMainEnv(context: Context): Int {
         try {
             val env = PropertiesUtils.getValue4Properties(context, CONFIG_FILE, "yyxx_game", YYXX_DO_MAIN_ENV)

+ 1 - 1
library_core/build.gradle

@@ -90,7 +90,7 @@ dependencies {
     implementation 'com.adjust.sdk:adjust-android:4.28.2'
 
     if (rootProject.ext.module.publish) {
-        api files('../libs/eyuangamesdk_base_1.0.1.jar')
+        api files('../libs/eyuangamesdk_base_1.0.2.jar')
     } else {
         api project(':library_base')
     }

+ 1 - 1
library_core/publish.gradle

@@ -4,7 +4,7 @@ apply plugin: 'signing'
 ext {
     PUBLISH_GROUP_ID = 'io.github.yyxxgame.sdk'
     PUBLISH_ARTIFACT_ID = 'eyuangame-sdk-ktx'
-    PUBLISH_VERSION = '1.0.1-rc4'
+    PUBLISH_VERSION = '1.0.2'
 }
 
 Properties properties = new Properties()

+ 0 - 82
library_core/publish_old.gradle

@@ -1,82 +0,0 @@
-apply plugin: 'maven'
-apply plugin: 'signing'
-
-def PUBLISH_GROUP_ID = "io.github.yyxxgame.sdk"
-def PUBLISH_ARTIFACT_ID = "eyuangame-sdk-ktx"
-def PUBLISH_VERSION = "1.0.0-alpha7"
-
-Properties properties = new Properties()
-properties.load(project.rootProject.file('local.properties').newDataInputStream())
-
-def ossrhUsername = properties.getProperty("SonaType.user")
-def ossrhPassword = properties.getProperty("SonaType.pwd")
-
-task androidSourcesJar(type: Jar) {
-    archiveClassifier.set('source')
-    if (project.plugins.findPlugin('com.android.library')) {
-        from android.sourceSets.main.java.srcDirs
-    } else {
-        form sourceSets.main.java.srcDirs
-    }
-}
-
-artifacts {
-    archives androidSourcesJar
-}
-
-signing {
-    required {
-        gradle.taskGraph.hasTask("uploadArchives")
-    }
-    sign configurations.archives
-}
-
-uploadArchives {
-    repositories {
-        mavenDeployer {
-            beforeDeployment {
-                MavenDeployment deployment -> signing.signPom(deployment)
-            }
-
-            repository(url: "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/") {
-                authentication(userName: ossrhUsername, password: ossrhPassword)
-            }
-
-            snapshotRepository(url: "https://s01.oss.sonatype.org/content/repositories/snapshots/") {
-                authentication(userName: ossrhUsername, password: ossrhPassword)
-            }
-
-            pom.groupId = PUBLISH_GROUP_ID
-            pom.artifactId = PUBLISH_ARTIFACT_ID
-            pom.version = PUBLISH_VERSION
-
-            pom.project {
-                name "${PUBLISH_GROUP_ID}:${PUBLISH_ARTIFACT_ID}"
-                packaging 'aar'
-                description 'game sdk of EYuan'
-                url 'https://github.com/yyxxgame'
-
-                scm {
-                    connection 'scm:git:ogs.yyxxgame.com:3000/Client/EYuanGameSdk-KTX.git'
-                    developerConnection 'scm:git:ssh://gogs.yyxxgame.com:3000/Client/EYuanGameSdk-KTX.git'
-                    url 'http://gogs.yyxxgame.com/Client/EYuanGameSdk-KTX'
-                }
-
-                licenses {
-                    license {
-                        name 'The Apache License, Version 2.0'
-                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
-                    }
-                }
-
-                developers {
-                    developer {
-                        id 'yyxxgame'
-                        name 'yyxxgame'
-                        email 'developcentre@yyxxgame.com'
-                    }
-                }
-            }
-        }
-    }
-}

+ 47 - 3
library_core/src/main/java/cn/yyxx/eyuangame/core/impl/center/BindAccountContainer.kt

@@ -12,16 +12,24 @@ import android.view.WindowManager
 import android.widget.Button
 import android.widget.ImageView
 import cn.yyxx.eyuangame.core.entity.ClickType
+import cn.yyxx.eyuangame.core.entity.ResultInfo
+import cn.yyxx.eyuangame.core.entity.SdkBackLoginInfo
 import cn.yyxx.eyuangame.core.impl.SdkBridgeImpl
+import cn.yyxx.eyuangame.core.internal.IImplCallback
+import cn.yyxx.eyuangame.core.internal.IRequestCallback
+import cn.yyxx.eyuangame.core.network.SdkRequest
 import cn.yyxx.eyuangame.core.ui.EventEditText
+import cn.yyxx.eyuangame.core.utils.EditTextUtils
 import cn.yyxx.support.DensityUtils
 import cn.yyxx.support.ResUtils
+import cn.yyxx.support.hawkeye.ToastUtils
+import org.json.JSONObject
 
 /**
  * @author #Suyghur.
  * Created on 2021/12/23
  */
-class BindAccountContainer(context: Context) : Dialog(context) {
+class BindAccountContainer(context: Context, private val callback: IImplCallback) : Dialog(context) {
 
     private lateinit var ivReturn: ImageView
     private lateinit var eetAccount: EventEditText
@@ -94,11 +102,47 @@ class BindAccountContainer(context: Context) : Dialog(context) {
 
         btnConfirm = findViewById(ResUtils.getResId(context, "yyxx_btn_confirm", "id"))
         btnConfirm.apply {
-            tag = ClickType.ACTION_CONFIRM
             setOnClickListener {
-
+                callBindAccount()
             }
         }
     }
 
+    private fun callBindAccount() {
+        val userName = eetAccount.editText.text.trim().toString()
+        val pwd = eetPwd.editText.text.trim().toString()
+
+        if (!EditTextUtils.filterAccount(userName)) {
+            ToastUtils.toastInfo(context, ResUtils.getResString(context, "yyxx_tips_account_format_error"))
+            return
+        }
+        if (!EditTextUtils.filterPwd(pwd)) {
+            ToastUtils.toastInfo(context, ResUtils.getResString(context, "yyxx_tips_pwd_format_error"))
+            return
+        }
+
+        try {
+            with(JSONObject()) {
+                put("uid", SdkBackLoginInfo.instance.userId)
+                put("login_type", SdkBackLoginInfo.instance.loginType)
+                put("uname", userName)
+                put("pwd", pwd)
+                SdkRequest.instance.bindAccount(context, this, object : IRequestCallback {
+                    override fun onResponse(resultInfo: ResultInfo) {
+                        if (resultInfo.code == 1) {
+                            SdkBackLoginInfo.instance.hasBindAccount = true
+                            ToastUtils.toastInfo(context, resultInfo.msg)
+                            callback.onResult(0, resultInfo.msg)
+                            dismiss()
+                        } else {
+                            ToastUtils.toastInfo(context, resultInfo.msg)
+                        }
+                    }
+                })
+            }
+        } catch (e: Exception) {
+            e.printStackTrace()
+        }
+
+    }
 }

+ 3 - 1
library_core/src/main/java/cn/yyxx/eyuangame/core/impl/center/BindPhoneContainer.kt

@@ -15,6 +15,7 @@ import cn.yyxx.eyuangame.base.utils.Logger
 import cn.yyxx.eyuangame.core.entity.ResultInfo
 import cn.yyxx.eyuangame.core.entity.SdkBackLoginInfo
 import cn.yyxx.eyuangame.core.impl.SdkBridgeImpl
+import cn.yyxx.eyuangame.core.internal.IImplCallback
 import cn.yyxx.eyuangame.core.internal.IRequestCallback
 import cn.yyxx.eyuangame.core.network.SdkRequest
 import cn.yyxx.eyuangame.core.ui.EventEditText
@@ -29,7 +30,7 @@ import org.json.JSONObject
  * @author #Suyghur.
  * Created on 2021/12/23
  */
-class BindPhoneContainer(context: Context) : Dialog(context) {
+class BindPhoneContainer(context: Context, private val callback: IImplCallback) : Dialog(context) {
     private lateinit var llGroup1: LinearLayout
     private lateinit var llGroup2: LinearLayout
     private lateinit var clTips: ConstraintLayout
@@ -275,6 +276,7 @@ class BindPhoneContainer(context: Context) : Dialog(context) {
                         if (resultInfo.code == 1) {
                             SdkBackLoginInfo.instance.phoneNum = phoneNum
                             ToastUtils.toastInfo(context, resultInfo.msg)
+                            callback.onResult(0, resultInfo.msg)
                             dismiss()
                         } else {
                             ToastUtils.toastInfo(context, resultInfo.msg)

+ 1 - 10
library_core/src/main/java/cn/yyxx/eyuangame/core/impl/center/HybridFeatureContainer.kt

@@ -159,17 +159,9 @@ class HybridFeatureContainer(private val activity: Activity, private val url: St
         ivClose = findViewById(ResUtils.getResId(activity, "yyxx_iv_close", "id"))
         ivClose.visibility = View.GONE
         ivClose.setOnClickListener {
-            activity.finish()
+            dismiss()
         }
 
-//        webView.viewTreeObserver.addOnGlobalLayoutListener {
-//            if (isSoftShowing()) {
-//                view.visibility = View.GONE
-//            } else {
-//                view.visibility = View.VISIBLE
-//            }
-//        }
-
         val webSetting = webView.settings
         webSetting.allowFileAccess = true
         webSetting.layoutAlgorithm = WebSettings.LayoutAlgorithm.NARROW_COLUMNS
@@ -343,5 +335,4 @@ class HybridFeatureContainer(private val activity: Activity, private val url: St
             dismiss()
         }
     }
-
 }

+ 19 - 2
library_core/src/main/java/cn/yyxx/eyuangame/core/impl/center/MemberCenterContainer.kt

@@ -15,6 +15,7 @@ import androidx.constraintlayout.widget.ConstraintLayout
 import cn.yyxx.eyuangame.core.entity.LoginType
 import cn.yyxx.eyuangame.core.entity.SdkBackLoginInfo
 import cn.yyxx.eyuangame.core.impl.SdkBridgeImpl
+import cn.yyxx.eyuangame.core.internal.IImplCallback
 import cn.yyxx.support.DensityUtils
 import cn.yyxx.support.ResUtils
 
@@ -68,7 +69,15 @@ class MemberCenterContainer(context: Context) : Dialog(context) {
                 dismiss()
                 bindAccountContainer = null
             }
-            bindAccountContainer = BindAccountContainer(context)
+            bindAccountContainer = BindAccountContainer(context, object : IImplCallback {
+                override fun onResult(code: Int, result: String) {
+                    if (code == 0) {
+                        showOrHideBindAccount()
+                        showOrHideBindPhone()
+                        showOrHideModifyPwd()
+                    }
+                }
+            })
             bindAccountContainer?.show()
         }
         clBindPhone = findViewById(ResUtils.getResId(context, "yyxx_cl_bind_phone", "id"))
@@ -77,7 +86,15 @@ class MemberCenterContainer(context: Context) : Dialog(context) {
                 dismiss()
                 bindPhoneContainer = null
             }
-            bindPhoneContainer = BindPhoneContainer(context)
+            bindPhoneContainer = BindPhoneContainer(context, object : IImplCallback {
+                override fun onResult(code: Int, result: String) {
+                    if (code == 0) {
+                        showOrHideBindAccount()
+                        showOrHideBindPhone()
+                        showOrHideModifyPwd()
+                    }
+                }
+            })
             bindPhoneContainer?.show()
         }
 

+ 1 - 1
library_core/src/main/java/cn/yyxx/eyuangame/core/network/Host.kt

@@ -38,7 +38,7 @@ object Host {
     const val BASIC_ROUTE_BIND_ACCOUNT = "bind_member_user"
     const val BASIC_ROUTE_BIND_PHONE = "bind_phone"
     const val BASIC_ROUTE_GET_CAPTCHA = "phone_captcha"
-    const val BASIC_ROUTE_FORGET_PWD = "forgot_pwd"
+    const val BASIC_ROUTE_FORGET_PWD = "forgot_pwd_auto"
     const val BASIC_ROUTE_MODIFY_PWD = "modify_pwd"
     const val BASIC_ROUTE_CREATE_ORDER = "iap_init"
     const val BASIC_ROUTE_NOTIFY_ORDER = "iap_notify"

+ 5 - 2
library_core/src/main/java/cn/yyxx/eyuangame/core/network/VolleyRequest.kt

@@ -9,6 +9,7 @@ import cn.yyxx.eyuangame.core.internal.IFileRequestCallback
 import cn.yyxx.eyuangame.core.internal.IRequestCallback
 import cn.yyxx.support.FileUtils
 import cn.yyxx.support.JsonUtils
+import cn.yyxx.support.ResUtils
 import cn.yyxx.support.StrUtils
 import cn.yyxx.support.encryption.Base64Utils
 import cn.yyxx.support.encryption.HexUtils
@@ -95,7 +96,7 @@ object VolleyRequest {
             }, Response.ErrorListener {
                 it?.apply {
                     Logger.e("postByVolley onErrorResponse : $it")
-                    callback.onResponse(getErrorResultInfo(it))
+                    callback.onResponse(getErrorResultInfo(context, it))
                 }
             }) {
                 override fun getHeaders(): MutableMap<String, String> {
@@ -173,7 +174,7 @@ object VolleyRequest {
         return ""
     }
 
-    private fun getErrorResultInfo(volleyError: VolleyError): ResultInfo {
+    private fun getErrorResultInfo(context: Context, volleyError: VolleyError): ResultInfo {
         val resultInfo = ResultInfo()
         resultInfo.code = 400
         resultInfo.msg = ""
@@ -181,6 +182,8 @@ object VolleyRequest {
             resultInfo.code = statusCode
             if (!TextUtils.isEmpty(volleyError.message)) {
                 resultInfo.msg = volleyError.message!!
+            } else {
+                resultInfo.msg = ResUtils.getResString(context, "yyxx_network_tv_error")
             }
         }
         resultInfo.data = ""

+ 1 - 2
library_core/src/main/java/cn/yyxx/eyuangame/core/ui/floatview/FloatingBall.kt

@@ -128,6 +128,7 @@ class FloatingBall(val activity: Activity, private val isLandscape: Boolean, pri
 
             override fun onMenuItemClick(item: FloatingBallMenu.FloatingBallMenuItem, pos: Int) {
                 callback.onMenuItemClick(item, pos)
+                menu.dismiss()
             }
         })
 
@@ -353,8 +354,6 @@ class FloatingBall(val activity: Activity, private val isLandscape: Boolean, pri
 
         fun onUpdateBallView(ballView: ImageView, isLeftLocation: Boolean, isHide: Boolean)
 
-        //fun onUpdateRedDotView(redDotView: ImageView)
-
         fun onInitMenuData(): MutableList<FloatingBallMenu.FloatingBallMenuItem>
 
         fun onMenuItemClick(item: FloatingBallMenu.FloatingBallMenuItem, pos: Int)

+ 1 - 1
library_hk_language/publish.gradle

@@ -4,7 +4,7 @@ apply plugin: 'signing'
 ext {
     PUBLISH_GROUP_ID = 'io.github.yyxxgame.sdk'
     PUBLISH_ARTIFACT_ID = 'eyuangame-component-lang-hk'
-    PUBLISH_VERSION = '1.0.1-rc2'
+    PUBLISH_VERSION = '1.0.2'
 }
 
 Properties properties = new Properties()

+ 1 - 0
library_hk_language/src/main/res/values/yyxx_strings.xml

@@ -72,6 +72,7 @@
     <string name="yyxx_tips_launcher_error">帳號登入校驗異常</string>
 
     <string name="yyxx_charge_tv_error">支付服務異常,請稍後重試</string>
+    <string name="yyxx_network_tv_error">出現網絡連接錯誤,請稍後重試</string>
     <string name="yyxx_charge_loading_tips">正在獲取訂單信息,請稍候…</string>
 
     <string name="facebook_app_id" translatable="false"></string>

+ 1 - 1
library_vn_language/publish.gradle

@@ -4,7 +4,7 @@ apply plugin: 'signing'
 ext {
     PUBLISH_GROUP_ID = 'io.github.yyxxgame.sdk'
     PUBLISH_ARTIFACT_ID = 'eyuangame-component-lang-vn'
-    PUBLISH_VERSION = '1.0.1-rc2'
+    PUBLISH_VERSION = '1.0.2'
 }
 
 Properties properties = new Properties()

+ 1 - 0
library_vn_language/src/main/res/values/yyxx_strings.xml

@@ -71,6 +71,7 @@
     <string name="yyxx_tips_launcher_error">Đăng nhập ngoại lệ xác minh</string>
 
     <string name="yyxx_charge_tv_error">Lỗi dịch vụ thanh toán, vui lòng thử lại sau</string>
+    <string name="yyxx_network_tv_error">Lỗi mạng, vui lòng thử lại sau</string>
     <string name="yyxx_charge_loading_tips">Đang nhận thông tin đơn hàng, vui lòng thử lại sau…</string>
     <string name="facebook_app_id" translatable="false"></string>
     <string name="fb_login_protocol_scheme" translatable="false"></string>

BIN
libs/eyuangamesdk_base_1.0.1.jar