gitextract_t9qzaftc/ ├── .clang-format ├── .dockerignore ├── .github/ │ ├── FUNDING.yml │ └── ISSUE_TEMPLATE/ │ └── bug_report.md ├── .gitignore ├── .gitmodules ├── Android/ │ └── MMKV/ │ ├── .gitignore │ ├── build.gradle │ ├── checkstyle.xml │ ├── debug.keystore │ ├── gradle/ │ │ ├── android-publish-private.gradle │ │ ├── android-publish.gradle │ │ ├── build_library.gradle │ │ ├── check.gradle │ │ └── wrapper/ │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ ├── gradlew │ ├── gradlew.bat │ ├── mmkv/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── androidTest/ │ │ │ ├── AndroidManifest.xml │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── tencent/ │ │ │ └── mmkv/ │ │ │ ├── MMKVTest.java │ │ │ └── MMKVTestService.java │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── aidl/ │ │ │ └── com/ │ │ │ └── tencent/ │ │ │ └── mmkv/ │ │ │ └── ParcelableMMKV.aidl │ │ ├── cpp/ │ │ │ ├── flutter-bridge.cpp │ │ │ └── native-bridge.cpp │ │ └── java/ │ │ └── com/ │ │ └── tencent/ │ │ └── mmkv/ │ │ ├── MMKV.java │ │ ├── MMKVConfig.java │ │ ├── MMKVContentChangeNotification.java │ │ ├── MMKVContentProvider.java │ │ ├── MMKVHandler.java │ │ ├── MMKVLogLevel.java │ │ ├── MMKVProcessUtil.java │ │ ├── MMKVRecoverStrategic.java │ │ ├── NameSpace.java │ │ ├── NativeBuffer.java │ │ ├── ParcelableMMKV.java │ │ └── UnsupportedArchitectureException.java │ ├── mmkvannotation/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ └── java/ │ │ └── dalvik/ │ │ └── annotation/ │ │ └── optimization/ │ │ └── FastNative.java │ ├── mmkvdemo/ │ │ ├── .gitignore │ │ ├── build.gradle │ │ ├── proguard-rules.pro │ │ └── src/ │ │ └── main/ │ │ ├── AndroidManifest.xml │ │ ├── aidl/ │ │ │ └── com/ │ │ │ └── tencent/ │ │ │ └── mmkvdemo/ │ │ │ └── IAshmemMMKV.aidl │ │ ├── cpp/ │ │ │ ├── CMakeLists.txt │ │ │ └── mmkvdemo.cpp │ │ ├── java/ │ │ │ └── com/ │ │ │ └── tencent/ │ │ │ └── mmkvdemo/ │ │ │ ├── Baseline.java │ │ │ ├── BenchMarkBaseService.java │ │ │ ├── FakeInfo.java │ │ │ ├── Info.java │ │ │ ├── MainActivity.java │ │ │ ├── MultiProcessSharedPreferences.java │ │ │ ├── MyApplication.java │ │ │ ├── MyService.java │ │ │ ├── MyService_1.java │ │ │ ├── SQLiteKV.java │ │ │ └── TestParcelable.java │ │ ├── kotlin/ │ │ │ └── KotlinUsecase.kt │ │ └── res/ │ │ ├── drawable/ │ │ │ └── ic_launcher_background.xml │ │ ├── drawable-v24/ │ │ │ └── ic_launcher_foreground.xml │ │ ├── layout/ │ │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26/ │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ └── values/ │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ ├── pmd-ruleset.xml │ ├── proguard-rules/ │ │ ├── proguard-rules-android-lib.pro │ │ └── proguard-rules-test.pro │ └── settings.gradle ├── CHANGELOG.md ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Core/ │ ├── .gitignore │ ├── CMakeLists.txt │ ├── CodedInputData.cpp │ ├── CodedInputData.h │ ├── CodedInputDataCrypt.cpp │ ├── CodedInputDataCrypt.h │ ├── CodedInputDataCrypt_OSX.cpp │ ├── CodedInputData_OSX.cpp │ ├── CodedOutputData.cpp │ ├── CodedOutputData.h │ ├── Core.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ └── IDEWorkspaceChecks.plist │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ ├── Core.xcscheme │ │ └── MMKVWatchCore.xcscheme │ ├── InterProcessLock.cpp │ ├── InterProcessLock.h │ ├── InterProcessLock_Android.cpp │ ├── InterProcessLock_Win32.cpp │ ├── KeyValueHolder.cpp │ ├── KeyValueHolder.h │ ├── MMBuffer.cpp │ ├── MMBuffer.h │ ├── MMKV.cpp │ ├── MMKV.h │ ├── MMKVHandler.h │ ├── MMKVLog.cpp │ ├── MMKVLog.h │ ├── MMKVLog_Android.cpp │ ├── MMKVMetaInfo.hpp │ ├── MMKVPredef.h │ ├── MMKV_Android.cpp │ ├── MMKV_IO.cpp │ ├── MMKV_IO.h │ ├── MMKV_OSX.cpp │ ├── MMKV_OSX.h │ ├── MemoryFile.cpp │ ├── MemoryFile.h │ ├── MemoryFile_Android.cpp │ ├── MemoryFile_Linux.cpp │ ├── MemoryFile_OSX.cpp │ ├── MemoryFile_Win32.cpp │ ├── MiniPBCoder.cpp │ ├── MiniPBCoder.h │ ├── MiniPBCoder_OSX.cpp │ ├── PBEncodeItem.hpp │ ├── PBUtility.cpp │ ├── PBUtility.h │ ├── ScopedLock.hpp │ ├── ThreadLock.cpp │ ├── ThreadLock.h │ ├── ThreadLock_Win32.cpp │ ├── aes/ │ │ ├── AESCrypt.cpp │ │ ├── AESCrypt.h │ │ └── openssl/ │ │ ├── openssl_aes.h │ │ ├── openssl_aes_core.cpp │ │ ├── openssl_aes_locl.h │ │ ├── openssl_aesv8-armx.S │ │ ├── openssl_arm_arch.h │ │ ├── openssl_cfb128.cpp │ │ ├── openssl_md32_common.h │ │ ├── openssl_md5.h │ │ ├── openssl_md5_dgst.cpp │ │ ├── openssl_md5_locl.h │ │ ├── openssl_md5_one.cpp │ │ └── openssl_opensslconf.h │ ├── core.vcxproj │ ├── core.vcxproj.filters │ ├── crc32/ │ │ ├── CMakeLists.txt │ │ ├── Checksum.h │ │ ├── crc32_armv8.cpp │ │ └── zlib/ │ │ ├── crc32.cpp │ │ ├── crc32.h │ │ ├── zconf.h │ │ └── zutil.h │ └── fakeinclude/ │ └── MMKVCore/ │ ├── MMBuffer.h │ ├── MMKV.h │ ├── MMKVHandler.h │ ├── MMKVLog.h │ ├── MMKVPredef.h │ ├── MemoryFile.h │ ├── MiniPBCoder.h │ ├── ScopedLock.hpp │ └── ThreadLock.h ├── Dockerfile ├── LICENSE.TXT ├── MMKV.podspec ├── MMKV.xcworkspace/ │ ├── contents.xcworkspacedata │ └── xcshareddata/ │ └── IDEWorkspaceChecks.plist ├── MMKVAppExtension.podspec ├── MMKVCore.podspec ├── MMKVWatchExtension.podspec ├── Makefile ├── OpenHarmony/ │ ├── .gitignore │ ├── AppScope/ │ │ ├── app.json5 │ │ └── resources/ │ │ └── base/ │ │ └── element/ │ │ └── string.json │ ├── MMKV/ │ │ ├── .gitignore │ │ ├── BuildProfile.ets │ │ ├── CHANGELOG.md │ │ ├── Index.ets │ │ ├── LICENSE │ │ ├── README.md │ │ ├── build-profile.json5 │ │ ├── consumer-rules.txt │ │ ├── example/ │ │ │ ├── Index.ets │ │ │ └── Util.ets │ │ ├── hvigorfile.ts │ │ ├── obfuscation-rules.txt │ │ ├── oh-package.json5 │ │ └── src/ │ │ └── main/ │ │ ├── cpp/ │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter-bridge.cpp │ │ │ ├── native_bridge.cpp │ │ │ └── types/ │ │ │ └── libmmkv/ │ │ │ ├── index.d.ts │ │ │ └── oh-package.json5 │ │ ├── ets/ │ │ │ └── utils/ │ │ │ ├── MMKV.ets │ │ │ ├── MMKVConfig.ets │ │ │ ├── MMKVHandler.ets │ │ │ ├── MMKVLogLevel.ets │ │ │ ├── NativeBuffer.ets │ │ │ └── Util.ts │ │ └── module.json5 │ ├── build-profile.json5 │ ├── dependencies/ │ │ ├── hvigor-4.3.0.tgz │ │ └── hvigor-ohos-plugin-4.3.0.tgz │ ├── entry/ │ │ ├── .gitignore │ │ ├── build-profile.json5 │ │ ├── hvigorfile.ts │ │ ├── obfuscation-rules.txt │ │ ├── oh-package.json5 │ │ └── src/ │ │ ├── main/ │ │ │ ├── cpp/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── napi_init.cpp │ │ │ │ └── types/ │ │ │ │ └── libentry/ │ │ │ │ ├── index.d.ts │ │ │ │ └── oh-package.json5 │ │ │ ├── ets/ │ │ │ │ ├── Util/ │ │ │ │ │ ├── Baseline.ets │ │ │ │ │ ├── MyMMKVHandler.ets │ │ │ │ │ └── Util.ets │ │ │ │ ├── entryability/ │ │ │ │ │ └── EntryAbility.ets │ │ │ │ ├── pages/ │ │ │ │ │ └── Index.ets │ │ │ │ └── process/ │ │ │ │ └── DemoProcess.ets │ │ │ ├── module.json5 │ │ │ └── resources/ │ │ │ ├── base/ │ │ │ │ ├── element/ │ │ │ │ │ ├── color.json │ │ │ │ │ └── string.json │ │ │ │ ├── media/ │ │ │ │ │ └── layered_image.json │ │ │ │ └── profile/ │ │ │ │ └── main_pages.json │ │ │ ├── en_US/ │ │ │ │ └── element/ │ │ │ │ └── string.json │ │ │ └── zh_CN/ │ │ │ └── element/ │ │ │ └── string.json │ │ ├── mock/ │ │ │ └── mock-config.json5 │ │ ├── ohosTest/ │ │ │ ├── ets/ │ │ │ │ ├── test/ │ │ │ │ │ ├── Ability.test.ets │ │ │ │ │ └── List.test.ets │ │ │ │ ├── testability/ │ │ │ │ │ ├── TestAbility.ets │ │ │ │ │ └── pages/ │ │ │ │ │ └── Index.ets │ │ │ │ └── testrunner/ │ │ │ │ └── OpenHarmonyTestRunner.ets │ │ │ ├── module.json5 │ │ │ └── resources/ │ │ │ └── base/ │ │ │ ├── element/ │ │ │ │ ├── color.json │ │ │ │ └── string.json │ │ │ └── profile/ │ │ │ └── test_pages.json │ │ └── test/ │ │ ├── List.test.ets │ │ └── LocalUnit.test.ets │ ├── hvigor/ │ │ └── hvigor-config.json5 │ ├── hvigorfile.ts │ └── oh-package.json5 ├── POSIX/ │ ├── CMakeLists.txt │ ├── demo/ │ │ ├── CMakeLists.txt │ │ ├── TestInterProcessLock.cpp │ │ ├── UnitTest.cpp │ │ ├── demo.cpp │ │ └── process.cpp │ ├── golang/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── callback.go │ │ ├── go.mod │ │ ├── golang-bridge.cpp │ │ ├── golang-bridge.h │ │ ├── mmkv.go │ │ ├── mmkv_test.go │ │ └── test/ │ │ ├── go.mod │ │ └── main.go │ └── src/ │ ├── CMakeLists.txt │ └── libmmkv.cpp ├── Package.swift ├── Python/ │ ├── CMakeLists.txt │ ├── README.md │ ├── demo.py │ ├── libmmkv_python.cpp │ ├── setup.py │ └── unit_test.py ├── README.md ├── README_CN.md ├── SECURITY.md ├── Script/ │ ├── dumpJavaSignature.py │ └── formatCode.py ├── Win32/ │ ├── .clang-format │ ├── Win32.sln │ ├── Win32Demo/ │ │ ├── Win32Demo.cpp │ │ ├── Win32Demo.vcxproj │ │ ├── Win32Demo.vcxproj.filters │ │ ├── pch.cpp │ │ └── pch.h │ └── Win32DemoProcess/ │ ├── Win32DemoProcess.cpp │ ├── Win32DemoProcess.vcxproj │ ├── Win32DemoProcess.vcxproj.filters │ ├── pch.cpp │ └── pch.h ├── flutter/ │ ├── .gitignore │ ├── .metadata │ ├── .vscode/ │ │ ├── launch.json │ │ └── settings.json │ ├── mmkv/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── example/ │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── android/ │ │ │ │ ├── .gitignore │ │ │ │ ├── app/ │ │ │ │ │ ├── build.gradle │ │ │ │ │ └── src/ │ │ │ │ │ ├── main/ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ ├── java/ │ │ │ │ │ │ │ └── com/ │ │ │ │ │ │ │ └── tencent/ │ │ │ │ │ │ │ └── mmkv_example/ │ │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ │ └── res/ │ │ │ │ │ │ ├── drawable/ │ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ └── values/ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ └── profile/ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── build.gradle │ │ │ │ ├── gradle/ │ │ │ │ │ └── wrapper/ │ │ │ │ │ └── gradle-wrapper.properties │ │ │ │ ├── gradle.properties │ │ │ │ ├── settings.gradle │ │ │ │ └── settings_aar.gradle │ │ │ ├── ios/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Flutter/ │ │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ │ ├── Debug.xcconfig │ │ │ │ │ ├── Release.xcconfig │ │ │ │ │ └── ephemeral/ │ │ │ │ │ ├── flutter_lldb_helper.py │ │ │ │ │ └── flutter_lldbinit │ │ │ │ ├── Podfile │ │ │ │ ├── Runner/ │ │ │ │ │ ├── AppDelegate.h │ │ │ │ │ ├── AppDelegate.m │ │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ │ └── LaunchImage.imageset/ │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ └── README.md │ │ │ │ │ ├── Base.lproj/ │ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ │ └── Main.storyboard │ │ │ │ │ ├── Info.plist │ │ │ │ │ ├── Runner.entitlements │ │ │ │ │ └── main.m │ │ │ │ ├── Runner.xcodeproj/ │ │ │ │ │ ├── project.pbxproj │ │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ └── xcschemes/ │ │ │ │ │ └── Runner.xcscheme │ │ │ │ └── Runner.xcworkspace/ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata/ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ ├── lib/ │ │ │ │ └── main.dart │ │ │ ├── linux/ │ │ │ │ ├── .gitignore │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── flutter/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── generated_plugin_registrant.cc │ │ │ │ │ ├── generated_plugin_registrant.h │ │ │ │ │ └── generated_plugins.cmake │ │ │ │ └── runner/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── main.cc │ │ │ │ ├── my_application.cc │ │ │ │ └── my_application.h │ │ │ ├── macos/ │ │ │ │ ├── .gitignore │ │ │ │ ├── Flutter/ │ │ │ │ │ ├── Flutter-Debug.xcconfig │ │ │ │ │ ├── Flutter-Release.xcconfig │ │ │ │ │ └── GeneratedPluginRegistrant.swift │ │ │ │ ├── Podfile │ │ │ │ ├── Runner/ │ │ │ │ │ ├── AppDelegate.swift │ │ │ │ │ ├── Assets.xcassets/ │ │ │ │ │ │ └── AppIcon.appiconset/ │ │ │ │ │ │ └── Contents.json │ │ │ │ │ ├── Base.lproj/ │ │ │ │ │ │ └── MainMenu.xib │ │ │ │ │ ├── Configs/ │ │ │ │ │ │ ├── AppInfo.xcconfig │ │ │ │ │ │ ├── Debug.xcconfig │ │ │ │ │ │ ├── Release.xcconfig │ │ │ │ │ │ └── Warnings.xcconfig │ │ │ │ │ ├── DebugProfile.entitlements │ │ │ │ │ ├── Info.plist │ │ │ │ │ ├── MainFlutterWindow.swift │ │ │ │ │ └── Release.entitlements │ │ │ │ ├── Runner.xcodeproj/ │ │ │ │ │ ├── project.pbxproj │ │ │ │ │ ├── project.xcworkspace/ │ │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ │ └── IDEWorkspaceChecks.plist │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ └── xcschemes/ │ │ │ │ │ └── Runner.xcscheme │ │ │ │ ├── Runner.xcworkspace/ │ │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ │ └── xcshareddata/ │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ │ └── RunnerTests/ │ │ │ │ └── RunnerTests.swift │ │ │ ├── ohos/ │ │ │ │ ├── .gitignore │ │ │ │ ├── AppScope/ │ │ │ │ │ ├── app.json5 │ │ │ │ │ └── resources/ │ │ │ │ │ └── base/ │ │ │ │ │ └── element/ │ │ │ │ │ └── string.json │ │ │ │ ├── build-profile.json5 │ │ │ │ ├── entry/ │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── build-profile.json5 │ │ │ │ │ ├── hvigorfile.ts │ │ │ │ │ ├── oh-package.json5 │ │ │ │ │ └── src/ │ │ │ │ │ ├── main/ │ │ │ │ │ │ ├── ets/ │ │ │ │ │ │ │ ├── entryability/ │ │ │ │ │ │ │ │ └── EntryAbility.ets │ │ │ │ │ │ │ ├── pages/ │ │ │ │ │ │ │ │ └── Index.ets │ │ │ │ │ │ │ └── plugins/ │ │ │ │ │ │ │ └── GeneratedPluginRegistrant.ets │ │ │ │ │ │ ├── module.json5 │ │ │ │ │ │ └── resources/ │ │ │ │ │ │ ├── base/ │ │ │ │ │ │ │ ├── element/ │ │ │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ │ │ └── string.json │ │ │ │ │ │ │ └── profile/ │ │ │ │ │ │ │ └── main_pages.json │ │ │ │ │ │ ├── en_US/ │ │ │ │ │ │ │ └── element/ │ │ │ │ │ │ │ └── string.json │ │ │ │ │ │ └── zh_CN/ │ │ │ │ │ │ └── element/ │ │ │ │ │ │ └── string.json │ │ │ │ │ └── ohosTest/ │ │ │ │ │ ├── ets/ │ │ │ │ │ │ ├── test/ │ │ │ │ │ │ │ ├── Ability.test.ets │ │ │ │ │ │ │ └── List.test.ets │ │ │ │ │ │ ├── testability/ │ │ │ │ │ │ │ ├── TestAbility.ets │ │ │ │ │ │ │ └── pages/ │ │ │ │ │ │ │ └── Index.ets │ │ │ │ │ │ └── testrunner/ │ │ │ │ │ │ └── OpenHarmonyTestRunner.ts │ │ │ │ │ ├── module.json5 │ │ │ │ │ └── resources/ │ │ │ │ │ └── base/ │ │ │ │ │ ├── element/ │ │ │ │ │ │ ├── color.json │ │ │ │ │ │ └── string.json │ │ │ │ │ └── profile/ │ │ │ │ │ └── test_pages.json │ │ │ │ ├── hvigor/ │ │ │ │ │ └── hvigor-config.json5 │ │ │ │ ├── hvigorfile.ts │ │ │ │ └── oh-package.json5 │ │ │ ├── pubspec.yaml │ │ │ └── windows/ │ │ │ ├── .gitignore │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── generated_plugin_registrant.cc │ │ │ │ ├── generated_plugin_registrant.h │ │ │ │ └── generated_plugins.cmake │ │ │ └── runner/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Runner.rc │ │ │ ├── flutter_window.cpp │ │ │ ├── flutter_window.h │ │ │ ├── main.cpp │ │ │ ├── resource.h │ │ │ ├── runner.exe.manifest │ │ │ ├── utils.cpp │ │ │ ├── utils.h │ │ │ ├── win32_window.cpp │ │ │ └── win32_window.h │ │ ├── lib/ │ │ │ └── mmkv.dart │ │ ├── mmkv.iml │ │ ├── pubspec.yaml │ │ ├── test/ │ │ │ └── mmkv_test.dart │ │ └── tool/ │ │ ├── fix_mmkv_plugin_name.rb │ │ └── mmkvpodhelper.rb │ ├── mmkv.iml │ ├── mmkv_android/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── android/ │ │ │ ├── .gitignore │ │ │ ├── build.gradle │ │ │ ├── gradle/ │ │ │ │ └── wrapper/ │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ │ ├── gradle.properties │ │ │ ├── gradlew │ │ │ ├── gradlew.bat │ │ │ ├── settings.gradle │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── AndroidManifest.xml │ │ │ └── java/ │ │ │ └── com/ │ │ │ └── tencent/ │ │ │ └── mmkv/ │ │ │ └── MMKVPlugin.java │ │ ├── lib/ │ │ │ └── mmkv_android.dart │ │ └── pubspec.yaml │ ├── mmkv_ios/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── darwin/ │ │ │ ├── .gitignore │ │ │ ├── Classes/ │ │ │ │ ├── MMKVPlugin.h │ │ │ │ ├── MMKVPlugin.mm │ │ │ │ ├── flutter-bridge.h │ │ │ │ └── flutter-bridge.mm │ │ │ └── mmkv_ios.podspec │ │ ├── lib/ │ │ │ └── mmkv_ios.dart │ │ └── pubspec.yaml │ ├── mmkv_linux/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── lib/ │ │ │ └── mmkv_linux.dart │ │ ├── linux/ │ │ │ ├── CMakeLists.txt │ │ │ ├── flutter-bridge.cpp │ │ │ ├── include/ │ │ │ │ └── mmkv_linux/ │ │ │ │ └── mmkv_linux_plugin.h │ │ │ └── mmkv_linux_plugin.cc │ │ └── pubspec.yaml │ ├── mmkv_ohos/ │ │ ├── .gitignore │ │ ├── .metadata │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── analysis_options.yaml │ │ ├── lib/ │ │ │ └── mmkv_ohos.dart │ │ ├── ohos/ │ │ │ ├── .gitignore │ │ │ ├── build-profile.json5 │ │ │ ├── hvigorfile.ts │ │ │ ├── index.ets │ │ │ ├── oh-package.json5 │ │ │ └── src/ │ │ │ └── main/ │ │ │ ├── ets/ │ │ │ │ └── components/ │ │ │ │ └── plugin/ │ │ │ │ └── MMKVPlugin.ets │ │ │ └── module.json5 │ │ └── pubspec.yaml │ ├── mmkv_platform_interface/ │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── lib/ │ │ │ ├── mmkv_platform_ffi.dart │ │ │ └── mmkv_platform_interface.dart │ │ └── pubspec.yaml │ └── mmkv_win32/ │ ├── .gitignore │ ├── .metadata │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── analysis_options.yaml │ ├── lib/ │ │ └── mmkv_win32.dart │ └── pubspec.yaml └── iOS/ ├── MMKV/ │ ├── MMKV/ │ │ ├── AutoCleanInfo.hpp │ │ ├── MMKV.h │ │ ├── MMKVAppExtension/ │ │ │ ├── include/ │ │ │ │ └── MMKVAppExtension/ │ │ │ │ └── MMKV.h │ │ │ └── libMMKV.mm │ │ ├── MMKVHandler.h │ │ ├── Resources/ │ │ │ ├── Info.plist │ │ │ └── PrivacyInfo.xcprivacy │ │ ├── fakeinclude/ │ │ │ └── MMKV/ │ │ │ └── MMKV.h │ │ └── libMMKV.mm │ └── MMKV.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ └── IDEWorkspaceChecks.plist │ └── xcshareddata/ │ └── xcschemes/ │ ├── MMKV For App Extension.xcscheme │ ├── MMKV Static.xcscheme │ ├── MMKV.xcscheme │ └── MMKVWatchExtension.xcscheme └── MMKVDemo/ ├── Config.xcconfig ├── MMKVCatalystDemo/ │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets/ │ │ ├── AccentColor.colorset/ │ │ │ └── Contents.json │ │ ├── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Base.lproj/ │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ ├── Info.plist │ ├── MMKVCatalystDemo.entitlements │ ├── SceneDelegate.h │ ├── SceneDelegate.m │ ├── ViewController.h │ ├── ViewController.mm │ └── main.m ├── MMKVDemo/ │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── DemoSwiftUsage.swift │ ├── MMKVDemo-Bridging-Header.h │ ├── Resources/ │ │ ├── Assets.xcassets/ │ │ │ └── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ ├── MMKVDemo.entitlements │ │ ├── testReadOnly │ │ └── testReadOnly.crc │ ├── TestMMKVCpp.cpp │ ├── TestMMKVCpp.hpp │ ├── ViewController+TestCaseBad.h │ ├── ViewController+TestCaseBad.mm │ ├── ViewController.h │ ├── ViewController.mm │ └── main.m ├── MMKVDemo.xcodeproj/ │ ├── project.pbxproj │ ├── project.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ └── xcshareddata/ │ └── xcschemes/ │ ├── MMKVDemo.xcscheme │ ├── MMKVMacDemo.xcscheme │ ├── MMKVTodayExtensionDemo.xcscheme │ ├── WatchApp (Notification).xcscheme │ ├── WatchApp.xcscheme │ └── kvdemo.xcscheme ├── MMKVDemoTests/ │ ├── Info.plist │ ├── MMKVDemoTests.mm │ └── MMKVPerformanceTest.mm ├── MMKVMacDemo/ │ ├── AppDelegate.h │ ├── AppDelegate.m │ ├── Assets.xcassets/ │ │ ├── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Base.lproj/ │ │ └── Main.storyboard │ ├── Info.plist │ ├── MMKVMacDemo.entitlements │ ├── ViewController.h │ ├── ViewController.mm │ └── main.m ├── MMKVTodayExtensionDemo/ │ ├── Base.lproj/ │ │ └── MainInterface.storyboard │ ├── Info.plist │ ├── MMKVTodayExtensionDemo.entitlements │ ├── TodayViewController.h │ └── TodayViewController.m ├── MMKVVisionDemo/ │ ├── Assets.xcassets/ │ │ ├── AppIcon.solidimagestack/ │ │ │ ├── Back.solidimagestacklayer/ │ │ │ │ ├── Content.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── Front.solidimagestacklayer/ │ │ │ │ ├── Content.imageset/ │ │ │ │ │ └── Contents.json │ │ │ │ └── Contents.json │ │ │ └── Middle.solidimagestacklayer/ │ │ │ ├── Content.imageset/ │ │ │ │ └── Contents.json │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ContentView.swift │ ├── Info.plist │ ├── MMKVVisionDemoApp.swift │ └── Preview Content/ │ └── Preview Assets.xcassets/ │ └── Contents.json ├── WatchApp/ │ ├── Assets.xcassets/ │ │ ├── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ └── Contents.json │ ├── Base.lproj/ │ │ └── Interface.storyboard │ └── Info.plist ├── WatchApp Extension/ │ ├── Assets.xcassets/ │ │ ├── Complication.complicationset/ │ │ │ ├── Circular.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ ├── Extra Large.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Graphic Bezel.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Graphic Circular.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Graphic Corner.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Graphic Extra Large.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Graphic Large Rectangular.imageset/ │ │ │ │ └── Contents.json │ │ │ ├── Modular.imageset/ │ │ │ │ └── Contents.json │ │ │ └── Utilitarian.imageset/ │ │ │ └── Contents.json │ │ └── Contents.json │ ├── ExtensionDelegate.h │ ├── ExtensionDelegate.mm │ ├── Info.plist │ ├── InterfaceController.h │ ├── InterfaceController.m │ ├── NotificationController.h │ ├── NotificationController.m │ └── PushNotificationPayload.apns └── kvdemo/ ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets/ │ ├── AccentColor.colorset/ │ │ └── Contents.json │ ├── AppIcon.appiconset/ │ │ └── Contents.json │ └── Contents.json ├── Base.lproj/ │ ├── LaunchScreen.storyboard │ └── Main.storyboard ├── Info.plist ├── SceneDelegate.h ├── SceneDelegate.m ├── ViewController.h ├── ViewController.m ├── kvdemo.entitlements └── main.m