mirror of
https://github.com/Tencent/MMKV.git
synced 2026-10-16 20:21:12 +08:00
@@ -102,10 +102,10 @@ def mmkvVersion = "${VERSION_NAME_PREFIX}${VERSION_NAME_SUFFIX}"
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
||||
implementation project(':mmkv')
|
||||
// implementation project(':mmkv')
|
||||
// implementation "com.tencent:mmkv:$mmkvVersion"
|
||||
// implementation "com.tencent:mmkv-static:$mmkvVersion" // this is identical to 'com.tencent:mmkv'
|
||||
// implementation "com.tencent:mmkv-shared:$mmkvVersion" // with prefab functionality
|
||||
implementation "com.tencent:mmkv-shared:$mmkvVersion" // with prefab functionality
|
||||
implementation 'androidx.appcompat:appcompat:1.7.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
#
|
||||
# Generated file, do not edit.
|
||||
#
|
||||
|
||||
import lldb
|
||||
|
||||
def handle_new_rx_page(frame: lldb.SBFrame, bp_loc, extra_args, intern_dict):
|
||||
"""Intercept NOTIFY_DEBUGGER_ABOUT_RX_PAGES and touch the pages."""
|
||||
base = frame.register["x0"].GetValueAsAddress()
|
||||
page_len = frame.register["x1"].GetValueAsUnsigned()
|
||||
|
||||
# Note: NOTIFY_DEBUGGER_ABOUT_RX_PAGES will check contents of the
|
||||
# first page to see if handled it correctly. This makes diagnosing
|
||||
# misconfiguration (e.g. missing breakpoint) easier.
|
||||
data = bytearray(page_len)
|
||||
data[0:8] = b'IHELPED!'
|
||||
|
||||
error = lldb.SBError()
|
||||
frame.GetThread().GetProcess().WriteMemory(base, data, error)
|
||||
if not error.Success():
|
||||
print(f'Failed to write into {base}[+{page_len}]', error)
|
||||
return
|
||||
|
||||
def __lldb_init_module(debugger: lldb.SBDebugger, _):
|
||||
target = debugger.GetDummyTarget()
|
||||
# Caveat: must use BreakpointCreateByRegEx here and not
|
||||
# BreakpointCreateByName. For some reasons callback function does not
|
||||
# get carried over from dummy target for the later.
|
||||
bp = target.BreakpointCreateByRegex("^NOTIFY_DEBUGGER_ABOUT_RX_PAGES$")
|
||||
bp.SetScriptCallbackFunction('{}.handle_new_rx_page'.format(__name__))
|
||||
bp.SetAutoContinue(True)
|
||||
print("-- LLDB integration loaded --")
|
||||
@@ -0,0 +1,5 @@
|
||||
#
|
||||
# Generated file, do not edit.
|
||||
#
|
||||
|
||||
command script import --relative-to-command-file flutter_lldb_helper.py
|
||||
@@ -14,7 +14,7 @@ dependencies:
|
||||
ffi: ^2.0.0
|
||||
mmkv_ios:
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_ios
|
||||
# path: ../mmkv_ios
|
||||
mmkv_android:
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_android
|
||||
@@ -28,7 +28,7 @@ dependencies:
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_linux
|
||||
mmkv_platform_interface:
|
||||
'>=2.2.2 <2.3.0'
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_platform_interface
|
||||
|
||||
dev_dependencies:
|
||||
|
||||
@@ -13,7 +13,7 @@ dependencies:
|
||||
sdk: flutter
|
||||
ffi: ^2.0.0
|
||||
mmkv_platform_interface:
|
||||
'>=2.2.2 <2.3.0'
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_platform_interface
|
||||
|
||||
dev_dependencies:
|
||||
|
||||
@@ -13,7 +13,7 @@ dependencies:
|
||||
sdk: flutter
|
||||
ffi: ^2.0.0
|
||||
mmkv_platform_interface:
|
||||
'>=2.2.2 <2.3.0'
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_platform_interface
|
||||
|
||||
dev_dependencies:
|
||||
|
||||
@@ -5,15 +5,15 @@ version: 2.2.3
|
||||
homepage: https://github.com/Tencent/mmkv
|
||||
|
||||
environment:
|
||||
sdk: ^3.9.0
|
||||
flutter: '>=3.3.0'
|
||||
sdk: '>=2.17.0 <4.0.0'
|
||||
flutter: ">=3.0.0"
|
||||
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
ffi: ^2.0.0
|
||||
mmkv_platform_interface:
|
||||
'>=2.2.2 <2.3.0'
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_platform_interface
|
||||
|
||||
dev_dependencies:
|
||||
|
||||
@@ -18,7 +18,7 @@ dependencies:
|
||||
# path: "packages/path_provider/path_provider_ohos"
|
||||
ffi: ^2.0.0
|
||||
mmkv_platform_interface:
|
||||
'>=2.2.2 <2.3.0'
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_platform_interface
|
||||
|
||||
dev_dependencies:
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
# MMKV Platform Interface Change Log
|
||||
## v2.2.3 / 2025-08-20
|
||||
* Protect from `freePtr()` not found.
|
||||
|
||||
## v2.2.2 / 2025-08-20
|
||||
* Add `freePtr()`, mainly for Windows.
|
||||
|
||||
|
||||
@@ -354,7 +354,10 @@ class MMKVPluginPlatformFFI extends MMKVPluginPlatform {
|
||||
|
||||
@override
|
||||
void Function(Pointer) freePtrFunc() {
|
||||
final ptr = nativeLib().lookup<NativeFunction<Void Function(Pointer)>>(nativeFuncName("freePtr"));
|
||||
return ptr != nullptr ? ptr.asFunction() : calloc.free;
|
||||
try {
|
||||
return nativeLib().lookup<NativeFunction<Void Function(Pointer)>>(nativeFuncName("freePtr")).asFunction();
|
||||
} catch (e) {
|
||||
return calloc.free;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ description: A common platform interface for the MMKV plugin.
|
||||
repository: https://github.com/Tencent/MMKV/tree/master/flutter/mmkv_platform_interface
|
||||
# NOTE: We strongly prefer non-breaking changes, even at the expense of a
|
||||
# less-clean API. See https://flutter.dev/go/platform-interface-breaking-changes
|
||||
version: 2.2.2
|
||||
version: 2.2.3
|
||||
homepage: https://github.com/Tencent/MMKV
|
||||
|
||||
environment:
|
||||
|
||||
@@ -13,7 +13,7 @@ dependencies:
|
||||
sdk: flutter
|
||||
ffi: ^2.0.0
|
||||
mmkv_platform_interface:
|
||||
'>=2.2.2 <2.3.0'
|
||||
'>=2.2.3 <2.3.0'
|
||||
# path: ../mmkv_platform_interface
|
||||
|
||||
dev_dependencies:
|
||||
|
||||
Reference in New Issue
Block a user