Giter Club home page Giter Club logo

umamusume-localify-android's Introduction

umamusume-localify-android

Android port of umamusume-localify

한국어

How to use

  1. Install Magisk v24 or later and enable Zygisk
  2. (Optional, Korean version only) Install Shamiko for bypass DroidX's code injection block to use Frida
  3. Install module in Magisk
  4. Put the config.json file in /sdcard/android/data/jp.co.cygames.umamusume/ and the translation file referenced in dicts.

Settings App

Created an app that allows you to change settings without directly modifying the JSON file.

You can install it from the GitHub Releases or Play Store

Note

Working directory is /sdcard/Android/data/jp.co.cygames.umamusume/

(Korean version is /sdcard/Android/data/com.kakaogames.umamusume/)

Config

  • enableLogger Outputs an unoverwritten string to data.txt (true / false, Default: false)
  • dumpStaticEntries Outputs a hard-coded string to data.txt (true / false, Default: false)
    • enableLogger must be enabled.
  • dumpDbEntries Outputs DB data to original_data/ (true / false, Default: false)
  • maxFps Max FPS settings (-1 = Default / 0 = Unlimited / n > 0 = Limit to n, Default: -1)
  • uiAnimationScale Change UI animation scale (0 < ~, Default: 1)
    • Caution: Soft lock occurs when set to 0.
  • uiUseSystemResolution Renders UI, live subtitles, and more at system resolution. (true / false, Default: false)
  • replaceToBuiltinFont (replaceFont) Use Unity builtin fonts instead of in-game fonts. (true / false, Default: false)
  • replaceToCustomFont Use custom fonts instead of in-game fonts. (true / false, Default: false)
  • fontAssetBundlePath Font asset bundle path (ex: custom_font/GyeonggiTitle_Medium/font)
  • fontAssetName Font asset name (ex: GyeonggiTitle_Medium.fontsettings)
  • graphicsQuality Change predefined graphics settings. (-1 ~ 4, Default: -1)
    • -1: Follow the App's choice
    • 0: Toon1280, MSAA OFF
    • 1: Toon1280x2, MSAA x2
    • 2: Toon1280x4, MSAA x4
    • 3: ToonFull, MSAA x8
  • antiAliasing Change MSAA settings (-1, 0, 2, 4, 8, Default: -1)
    • -1: Follow the Graphics settings
    • 0: MSAA OFF
    • 2: MSAA x2
    • 4: MSAA x4
    • 8: MSAA x8
  • forceLandscape Force all screens to landscape. (true / false, Default: false)
  • forceLandscapeUiScale Sets the UI scale to use for forced landscape mode. (0 < ~, Default: 1.8)
  • uiLoadingShowOrientationGuide Set whether to display the loading guide when the screen is rotated (true / false, Default: true)
  • replaceAssetsPath Set the path to the folder containing the assets to replace the downloaded assets in the game.
    • The name of the asset file to be replaced must be the same as the hash name of the original asset file.
    • ex: 2FOXNDZ5H52B3E4JMXVAJ4FRMDE3PX7Q (Asset containing the Home footer texture and scripts (Android))
  • dicts Translation file list (List of translation file paths since /sdcard/Android/data/jp.co.cygames.umamusume/)

Known issue

When maxFps is set to unlimited, the frame of the game is played from 60 FPS to 30 FPS, which is halved. (Not a typical 30FPS)

Build

  1. Download the source code
  2. Use Android Studio to run the gradle task :module:assembleRelease to compile, the zip package will be generated in the out folder

umamusume-localify-android's People

Contributors

etherealao avatar kimjio avatar reindex-ot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

umamusume-localify-android's Issues

Localization of config-json

Hello all.
Dont understand this:

Put the config.json file in /sdcard/android/data/jp.co.cygames.umamusume/ and the translation file referenced in dicts.

But, WHERE is config.json?
And where is the "dicts" translation place? And what translation file should one move?

In the releases - assets, its impossible to find this.

Can you help me or clarify the Readme?

Thanks!! :3

App crashes when clicking 'Dump MessagePack' on lower Android versions.

Tested devices: Pixel 2(8.1.0), Nox&LDPlayer (9)
logcat:

04-05 16:08:03.964  4903  4903 D AndroidRuntime: Shutting down VM
--------- beginning of crash
04-05 16:08:03.965  4903  4903 E AndroidRuntime: FATAL EXCEPTION: main
04-05 16:08:03.965  4903  4903 E AndroidRuntime: Process: com.kimjio.umamusumelocalify.settings, PID: 4903
04-05 16:08:03.965  4903  4903 E AndroidRuntime: android.view.InflateException: Binary XML file line #28: Binary XML file line #28: Error inflating class com.kimjio.umamusumelocalify.settings.widget.MainSwitchBar
04-05 16:08:03.965  4903  4903 E AndroidRuntime: Caused by: android.view.InflateException: Binary XML file line #28: Error inflating class com.kimjio.umamusumelocalify.settings.widget.MainSwitchBar
04-05 16:08:03.965  4903  4903 E AndroidRuntime: Caused by: java.lang.reflect.InvocationTargetException
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at java.lang.reflect.Constructor.newInstance0(Native Method)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.preference.d.g(PreferenceGroupAdapter.java:53)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView$t.j(RecyclerView.java:841)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView$t.d(RecyclerView.java:6)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.LinearLayoutManager$c.b(LinearLayoutManager.java:54)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.LinearLayoutManager.U0(LinearLayoutManager.java:1)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.LinearLayoutManager.H0(LinearLayoutManager.java:54)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.LinearLayoutManager.a0(LinearLayoutManager.java:826)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView.r(RecyclerView.java:79)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView.p(RecyclerView.java:72)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:8)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at r2.h.u(HeaderScrollingViewBehavior.java:159)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at r2.i.h(ViewOffsetBehavior.java:1)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:41)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
04-05 16:08:03.965  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at com.android.internal.policy.DecorView.onLayout(DecorView.java:753)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2799)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2316)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1463)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7190)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.Choreographer.doFrame(Choreographer.java:696)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:873)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:193)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6737)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:860)
04-05 16:08:03.966  4903  4903 E AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: Drawable com.kimjio.umamusumelocalify.settings:drawable/settingslib_switch_bar_bg_on with resource ID #0x7f08010b
04-05 16:08:03.966  4903  4903 E AndroidRuntime: Caused by: android.content.res.Resources$NotFoundException: File res/drawable/settingslib_switch_bar_bg_on.xml from drawable resource ID #0x7f08010b
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:857)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.ResourcesImpl.loadDrawable(ResourcesImpl.java:641)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.Resources.getDrawableForDensity(Resources.java:888)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.Resources.getDrawable(Resources.java:827)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.Context.getDrawable(Context.java:635)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at v.a$b.b(ContextCompat.java:1)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.appcompat.widget.h1.f(ResourceManagerInternal.java:53)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.appcompat.widget.h1.e(ResourceManagerInternal.java:3)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at d.a.a(AppCompatResources.java:5)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at com.kimjio.umamusumelocalify.settings.widget.MainSwitchBar.<init>(MainSwitchBar.java:96)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at java.lang.reflect.Constructor.newInstance0(Native Method)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:790)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.preference.d.g(PreferenceGroupAdapter.java:53)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView$t.j(RecyclerView.java:841)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView$t.d(RecyclerView.java:6)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.LinearLayoutManager$c.b(LinearLayoutManager.java:54)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.LinearLayoutManager.U0(LinearLayoutManager.java:1)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.LinearLayoutManager.H0(LinearLayoutManager.java:54)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.LinearLayoutManager.a0(LinearLayoutManager.java:826)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView.r(RecyclerView.java:79)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView.p(RecyclerView.java:72)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:8)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at r2.h.u(HeaderScrollingViewBehavior.java:159)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at r2.i.h(ViewOffsetBehavior.java:1)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at androidx.coordinatorlayout.widget.CoordinatorLayout.onLayout(CoordinatorLayout.java:41)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1812)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at com.android.internal.policy.DecorView.onLayout(DecorView.java:753)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.View.layout(View.java:20686)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewGroup.layout(ViewGroup.java:6194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2799)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2316)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1463)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7190)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.Choreographer.doCallbacks(Choreographer.java:761)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.Choreographer.doFrame(Choreographer.java:696)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:873)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.os.Handler.dispatchMessage(Handler.java:99)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.os.Looper.loop(Looper.java:193)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.app.ActivityThread.main(ActivityThread.java:6737)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at java.lang.reflect.Method.invoke(Native Method)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:860)
04-05 16:08:03.966  4903  4903 E AndroidRuntime: Caused by: java.lang.UnsupportedOperationException: Can't convert to ComplexColor: type=0x1
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.ResourcesImpl.loadComplexColorForCookie(ResourcesImpl.java:1090)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.ResourcesImpl.loadComplexColorFromName(ResourcesImpl.java:966)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.ResourcesImpl.loadColorStateList(ResourcesImpl.java:1045)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.Resources.loadColorStateList(Resources.java:1041)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.TypedArray.getColorStateList(TypedArray.java:549)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.GradientDrawable.updateGradientDrawableSolid(GradientDrawable.java:1543)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.GradientDrawable.inflateChildElements(GradientDrawable.java:1427)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.GradientDrawable.inflate(GradientDrawable.java:1244)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:142)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1332)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:1321)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.LayerDrawable.inflateLayers(LayerDrawable.java:279)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:194)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.RippleDrawable.inflate(RippleDrawable.java:428)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.DrawableInflater.inflateFromXmlForDensity(DrawableInflater.java:142)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.Drawable.createFromXmlInnerForDensity(Drawable.java:1332)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.graphics.drawable.Drawable.createFromXmlForDensity(Drawable.java:1291)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        at android.content.res.ResourcesImpl.loadDrawableForCookie(ResourcesImpl.java:843)
04-05 16:08:03.966  4903  4903 E AndroidRuntime:        ... 86 more
04-05 16:08:03.968  4903  4946 E EGL_adreno: tid 4946: eglSurfaceAttrib(1338): error 0x3009 (EGL_BAD_MATCH)
04-05 16:08:03.968  4903  4946 W OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0x7fff5a8bcc00, error=EGL_BAD_MATCH

Failed to initialize on Android 9 emulator

This problem occurs in both TwnGoogle and JAP.
https://github.com/Kimjio/umamusume-localify-android/blob/main/module/src/main/cpp/hook.cpp#L192 here, NativeBridgeError() will always return 0 causes error info never be shown.
If force print with LOGI("%d %s",NativeBridgeError(),NativeBridgeGetError()); it will be this:
0 dlopen failed: file offset for the library "/data/data/com.komoe.kmumamusumegp/arm64-v8a.so" >= file size: 0 >= 0

if move lib to somewhere like /data/local/tmp/ or /data/app/com.komoe.kmumamusumegp-Zf6fuMTo7Hh71wldlnooEw==/lib/arm64/,
it will be: 0 no error! and works fine.

Testing environment: LDPlayer9 9.0.38, Nox 7.0.5.5029; Magisk from https://huskydg.github.io/magisk-files/intro 25206 with zygisk enabled; Latest umamusume apk from https://www.qoo-app.com/

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.