Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
TestToolChainDemo
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
dsq
TestToolChainDemo
Commits
625eabe6
Commit
625eabe6
authored
Feb 13, 2026
by
dsq
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
崩溃
parent
7dbef7e8
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
132 additions
and
78 deletions
+132
-78
App.kt
composeApp/src/commonMain/kotlin/com.dong.demo013/App.kt
+29
-35
FaultLogDemo.kt
...rc/commonMain/kotlin/com.dong.demo013/Log/FaultLogDemo.kt
+31
-0
HighLogDemo.kt
...src/commonMain/kotlin/com.dong.demo013/Log/HighLogDemo.kt
+2
-2
NativeFault.kt
...src/commonMain/kotlin/com.dong.demo013/Log/NativeFault.kt
+53
-0
debug.kt
...App/src/commonMain/kotlin/com.dong.demo013/debug/debug.kt
+4
-0
Navigation.kt
...mmonMain/kotlin/com.dong.demo013/navigation/Navigation.kt
+3
-41
libkn.so
harmonyApp/entry/libs/arm64-v8a/libkn.so
+0
-0
libkn_api.h
harmonyApp/entry/src/main/cpp/include/libkn_api.h
+10
-0
No files found.
composeApp/src/commonMain/kotlin/com.dong.demo013/App.kt
View file @
625eabe6
package
com.dong.demo013
import
androidx.compose.foundation.layout.*
import
androidx.compose.foundation.lazy.rememberLazyListState
import
androidx.compose.foundation.shape.RoundedCornerShape
import
androidx.compose.material.*
import
androidx.compose.runtime.*
import
androidx.compose.ui.Alignment
import
androidx.compose.ui.Modifier
import
androidx.compose.ui.unit.dp
import
com.dong.demo013.
demos.Log.Test
LogDemo
import
com.dong.demo013.
Log.High
LogDemo
import
com.dong.demo013.navigation.ComponentDemo
import
com.dong.demo013.navigation.ComposeGroup
import
com.dong.demo013.navigation.Page
import
com.dong.maxhap.demos.FaultLogDemo
@Composable
internal
fun
App
()
{
...
...
@@ -56,7 +55,7 @@ internal fun HomeScreen(
.
padding
(
16
.
dp
)
)
{
Text
(
text
=
"
嵌套页面
"
,
text
=
"
debug测试
"
,
style
=
MaterialTheme
.
typography
.
h6
,
modifier
=
Modifier
.
padding
(
bottom
=
12
.
dp
)
)
...
...
@@ -67,11 +66,8 @@ internal fun HomeScreen(
modifier
=
Modifier
.
fillMaxWidth
()
)
{
Column
(
modifier
=
Modifier
.
padding
(
12
.
dp
))
{
Text
(
"
这是一个嵌套页面示例
"
,
style
=
MaterialTheme
.
typography
.
body1
)
Text
(
"
还在施工中........
"
,
style
=
MaterialTheme
.
typography
.
body1
)
Spacer
(
Modifier
.
height
(
8
.
dp
))
Text
(
"可以展示一些基础的UI组件和交互效果"
,
style
=
MaterialTheme
.
typography
.
caption
,
color
=
MaterialTheme
.
colors
.
onSurface
.
copy
(
alpha
=
0.7f
))
}
}
}
...
...
@@ -103,7 +99,7 @@ internal fun HomeScreen(
onClick
=
{
val
logDemo
=
ComponentDemo
(
id
=
"log_test_demo"
,
title
=
"日志测试演示"
,
title
=
"日志测试演示
(持续产生)
"
,
group
=
ComposeGroup
.
Foundation
)
onSelect
(
logDemo
)
...
...
@@ -114,34 +110,29 @@ internal fun HomeScreen(
}
}
}
}
Column
(
modifier
=
Modifier
.
fillMaxWidth
(),
verticalArrangement
=
Arrangement
.
spacedBy
(
8
.
dp
)
)
{
Button
(
onClick
=
{
val
logDemo
=
ComponentDemo
(
id
=
"log_fault_demo"
,
title
=
"Fault日志"
,
group
=
ComposeGroup
.
Foundation
)
onSelect
(
logDemo
)
},
modifier
=
Modifier
.
fillMaxWidth
()
)
{
Text
(
"进入Fault日志测试"
)
}
// 第三个模块:大体积包
Card
(
modifier
=
Modifier
.
fillMaxWidth
(),
elevation
=
8
.
dp
,
shape
=
RoundedCornerShape
(
12
.
dp
)
)
{
Column
(
modifier
=
Modifier
.
fillMaxWidth
()
.
padding
(
16
.
dp
)
)
{
Text
(
text
=
"大体积包"
,
style
=
MaterialTheme
.
typography
.
h6
,
modifier
=
Modifier
.
padding
(
bottom
=
12
.
dp
)
)
// 占位内容
Text
(
text
=
"大体积包内容区域"
,
style
=
MaterialTheme
.
typography
.
body1
,
color
=
MaterialTheme
.
colors
.
onSurface
.
copy
(
alpha
=
0.6f
)
)
}
}
}
}
}
...
...
@@ -166,7 +157,10 @@ internal fun DemoScreen(
// 根据 demo.id 显示对应的内容
when
(
demo
.
id
)
{
"log_test_demo"
->
{
TestLogDemo
()
HighLogDemo
()
}
"log_fault_demo"
->
{
FaultLogDemo
()
}
else
->
{
Text
(
...
...
composeApp/src/commonMain/kotlin/com.dong.demo013/Log/FaultLogDemo.kt
0 → 100644
View file @
625eabe6
package
com.dong.maxhap.demos
import
androidx.compose.foundation.layout.*
import
androidx.compose.material.*
import
androidx.compose.runtime.*
import
androidx.compose.ui.Modifier
import
androidx.compose.ui.graphics.Color
import
androidx.compose.ui.unit.dp
@Composable
internal
fun
FaultLogDemo
()
{
Column
(
modifier
=
Modifier
.
fillMaxSize
().
padding
(
16
.
dp
),
verticalArrangement
=
Arrangement
.
spacedBy
(
16
.
dp
)
)
{
// 1. 最简单的StackOverflow
Button
(
onClick
=
{
// 无限递归 - 栈溢出
fun
infinite
():
Int
=
infinite
()
+
1
infinite
()
// 触发 StackOverflowError
},
)
{
Text
(
"触发Fault 1: 栈溢出"
,
color
=
Color
.
White
)
}
}
}
\ No newline at end of file
composeApp/src/commonMain/kotlin/com.dong.demo013/
demos/Log/Test
LogDemo.kt
→
composeApp/src/commonMain/kotlin/com.dong.demo013/
Log/High
LogDemo.kt
View file @
625eabe6
package
com.dong.demo013.
demos.
Log
package
com.dong.demo013.Log
import
androidx.compose.foundation.layout.*
import
androidx.compose.foundation.text.KeyboardOptions
...
...
@@ -16,7 +16,7 @@ import kotlinx.coroutines.delay
@OptIn
(
ExperimentalLayoutApi
::
class
)
@Composable
internal
fun
Test
LogDemo
()
{
internal
fun
High
LogDemo
()
{
// 日志参数状态
var
logSpeed
by
remember
{
mutableStateOf
(
"100"
)
}
var
logCount
by
remember
{
mutableStateOf
(
0
)
}
...
...
composeApp/src/commonMain/kotlin/com.dong.demo013/Log/NativeFault.kt
0 → 100644
View file @
625eabe6
// NativeFault.kt
package
com.dong.maxhap.demos
import
androidx.compose.foundation.layout.*
import
androidx.compose.material.Button
import
androidx.compose.material.ButtonDefaults
import
androidx.compose.material.Text
import
androidx.compose.runtime.*
import
androidx.compose.ui.Alignment
import
androidx.compose.ui.Modifier
import
androidx.compose.ui.graphics.Color
import
androidx.compose.ui.text.font.FontWeight
import
androidx.compose.ui.unit.dp
import
androidx.compose.ui.unit.sp
@Composable
internal
fun
SimpleFaultTrigger
()
{
var
trigger
by
remember
{
mutableStateOf
(
false
)
}
Column
(
modifier
=
Modifier
.
fillMaxSize
()
.
padding
(
16
.
dp
),
horizontalAlignment
=
Alignment
.
CenterHorizontally
,
verticalArrangement
=
Arrangement
.
Center
)
{
Button
(
onClick
=
{
val
list
=
listOf
(
"A"
,
"B"
,
"C"
)
// 直接越界访问 - 立即崩溃
val
item
=
list
[
5
]
// ArrayIndexOutOfBoundsException
println
(
item
)
},
modifier
=
Modifier
.
fillMaxWidth
()
.
height
(
50
.
dp
),
colors
=
ButtonDefaults
.
buttonColors
(
backgroundColor
=
Color
(
0
xFF4CAF50
)
)
)
{
Text
(
text
=
"点击触发越界"
,
fontSize
=
18
.
sp
,
fontWeight
=
FontWeight
.
Medium
,
color
=
Color
.
White
)
}
Spacer
(
modifier
=
Modifier
.
height
(
20
.
dp
))
}
}
composeApp/src/commonMain/kotlin/com.dong.demo013/debug/debug.kt
0 → 100644
View file @
625eabe6
package
com.dong.demo013.debug
class
debug
{
}
\ No newline at end of file
composeApp/src/commonMain/kotlin/com.dong.demo013/navigation/Navigation.kt
View file @
625eabe6
...
...
@@ -11,48 +11,10 @@ data class ComponentDemo(
)
val
componentDemos
:
List
<
ComponentDemo
>
=
listOf
(
// ui
ComponentDemo
(
"ui_box"
,
"Box"
,
ComposeGroup
.
Ui
),
// foundation
ComponentDemo
(
"foundation_basic_text"
,
"BasicText"
,
ComposeGroup
.
Foundation
),
ComponentDemo
(
"foundation_lazy_column"
,
"LazyColumn"
,
ComposeGroup
.
Foundation
),
// log
// Log
ComponentDemo
(
"log_test_demo"
,
"日志测试演示"
,
ComposeGroup
.
Foundation
),
// material 组:新增完整清单
ComponentDemo
(
"material_alert_dialog"
,
"AlertDialogSample"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_app_bar"
,
"AppBarSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_backdrop_scaffold"
,
"BackdropScaffoldSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_badge"
,
"BadgeSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_bottom_navigation"
,
"BottomNavigationSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_bottom_sheet_scaffold"
,
"BottomSheetScaffoldSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_button_samples"
,
"ButtonSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_card_samples"
,
"CardSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_chip_samples"
,
"ChipSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_content_alpha"
,
"ContentAlphaSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_drawer_samples"
,
"DrawerSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_elevation_samples"
,
"ElevationSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_exposed_dropdown_menu"
,
"ExposedDropdownMenuSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_fab_samples"
,
"FloatingActionButtonSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_icon_button_samples"
,
"IconButtonSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_list_samples"
,
"ListSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_menu_samples"
,
"MenuSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_modal_bottom_sheet"
,
"ModalBottomSheetSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_navigation_rail"
,
"NavigationRailSample"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_progress_indicator"
,
"ProgressIndicatorSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_pull_refresh"
,
"PullRefreshSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_scaffold_samples"
,
"ScaffoldSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_selection_controls"
,
"SelectionControlsSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_slider_sample"
,
"SliderSample"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_surface_samples"
,
"SurfaceSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_swipeable_samples"
,
"SwipeableSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_swipe_to_dismiss"
,
"SwipeToDismissSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_tab_samples"
,
"TabSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_text_field_samples"
,
"TextFieldSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_text_samples"
,
"TextSamples"
,
ComposeGroup
.
Material
),
ComponentDemo
(
"material_theme_samples"
,
"ThemeSamples"
,
ComposeGroup
.
Material
),
// benchmark
ComponentDemo
(
"benchmark_1500_text"
,
"1500 Text"
,
ComposeGroup
.
Benchmark
),
ComponentDemo
(
"benchmark_1500_view"
,
"1500 View"
,
ComposeGroup
.
Benchmark
),
ComponentDemo
(
"log_fault_demo"
,
"fault日志测试"
,
ComposeGroup
.
Foundation
),
)
val
groupTitles
:
Map
<
ComposeGroup
,
String
>
=
mapOf
(
...
...
harmonyApp/entry/libs/arm64-v8a/libkn.so
View file @
625eabe6
No preview for this file type
harmonyApp/entry/src/main/cpp/include/libkn_api.h
View file @
625eabe6
...
...
@@ -75,6 +75,9 @@ typedef struct {
typedef
struct
{
libkn_KNativePtr
pinned
;
}
libkn_kref_com_dong_demo013_LogController
;
typedef
struct
{
libkn_KNativePtr
pinned
;
}
libkn_kref_com_dong_demo013_debug_debug
;
typedef
struct
{
libkn_KNativePtr
pinned
;
}
libkn_kref_kotlin_collections_List
;
...
...
@@ -199,6 +202,13 @@ typedef struct {
struct
{
struct
{
struct
{
struct
{
struct
{
libkn_KType
*
(
*
_type
)(
void
);
libkn_kref_com_dong_demo013_debug_debug
(
*
debug
)();
}
debug
;
libkn_KInt
(
*
com_dong_demo013_debug_debug
$
stableprop_getter
)();
}
debug
;
struct
{
struct
{
struct
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment