Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kotlin_sample
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
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
jiangyh
kotlin_sample
Commits
811b28a4
Commit
811b28a4
authored
Feb 13, 2026
by
jiangyh
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
win支持ohosArm64
parent
aab96f8a
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
26 additions
and
15 deletions
+26
-15
build.gradle.kts
composeApp/build.gradle.kts
+6
-2
build-profile.json5
harmonyApp/entry/build-profile.json5
+1
-0
libkn.so
harmonyApp/entry/libs/arm64-v8a/libkn.so
+0
-0
libsample.a
harmonyApp/entry/src/main/cpp/libs/arm64-v8a/libsample.a
+0
-0
settings.gradle.kts
settings.gradle.kts
+19
-13
No files found.
composeApp/build.gradle.kts
View file @
811b28a4
...
...
@@ -185,9 +185,10 @@ val buildSampleStaticLib by tasks.registering {
objFileFile
.
delete
()
}
println
(
"Compiling ${srcFile.name}..."
)
// Windows 上若用的是 host 的 clang(x64),必须显式指定 -target 为 aarch64,否则 .S 会被当 x86 汇编
val
targetArg
=
if
(
clangExecutable
.
name
.
startsWith
(
"aarch64-"
))
listOf
<
String
>()
else
listOf
(
"-target"
,
"aarch64-unknown-linux-gnu"
)
execOps
.
exec
{
// 使用 OHOS SDK clang 编译,它会自动处理 target 和 sysroot
commandLine
(
clangExecutable
.
absolutePath
,
"-c"
,
"-fPIC"
,
"-O2"
,
"-I"
,
includeDir
,
srcFile
.
absolutePath
,
"-o"
,
objFile
)
commandLine
(
clangExecutable
.
absolutePath
,
"-c"
,
"-fPIC"
,
"-O2"
,
*
targetArg
.
toTypedArray
(),
"-I"
,
includeDir
,
srcFile
.
absolutePath
,
"-o"
,
objFile
)
}
objectFiles
.
add
(
objFile
)
}
...
...
@@ -220,6 +221,9 @@ arrayOf("debug", "release").forEach { type ->
from
(
"native-libs/ohosArm64/libsample.a"
)
{
into
(
"entry/src/main/cpp/libs/"
)
}
from
(
"native-libs/ohosArm64/libsample.a"
)
{
into
(
"entry/src/main/cpp/libs/arm64-v8a/"
)
}
doFirst
{
if
(!
binaryDir
.
exists
())
{
throw
GradleException
(
"未找到产物目录: ${binaryDir.absolutePath}"
)
...
...
harmonyApp/entry/build-profile.json5
View file @
811b28a4
...
...
@@ -10,6 +10,7 @@
"path": "./src/main/cpp/CMakeLists.txt",
"arguments": "-DOHOS_ENABLE_ASAN=ON",
"cppFlags": "",
"abiFilters": [ "arm64-v8a" ]
}
},
"buildOptionSet": [
...
...
harmonyApp/entry/libs/arm64-v8a/libkn.so
View file @
811b28a4
No preview for this file type
harmonyApp/entry/src/main/cpp/libs/arm64-v8a/libsample.a
0 → 100644
View file @
811b28a4
File added
settings.gradle.kts
View file @
811b28a4
rootProject
.
name
=
"k
mptcp_k
otlin_sample"
rootProject
.
name
=
"kotlin_sample"
enableFeaturePreview
(
"TYPESAFE_PROJECT_ACCESSORS"
)
pluginManagement
{
repositories
{
// maven {
// url = uri("/Users/jiangyuhuan/AndroidStudioProjects/kmptpc_kotlin/build/repo")
// }
// mavenLocal() // 备用:脚本中也执行了
// maven {
// url = uri("/Users/jiangyuhuan/AndroidStudioProjects/kmptpc_kotlin/build/repo")
// }
maven
{
url
=
java
.
io
.
File
(
"D:/repo"
).
toURI
()
}
mavenLocal
()
// 备用:脚本中也执行了
google
()
mavenCentral
()
maven
(
"https://maven.eazytec-cloud.com/nexus/repository/maven-public/"
)
// 引入 Gradle 插件门户(主要用于查找 Gradle 插件)
gradlePluginPortal
()
...
...
@@ -17,12 +20,15 @@ pluginManagement {
dependencyResolutionManagement
{
repositories
{
// maven {
// url = uri("/Users/jiangyuhuan/AndroidStudioProjects/kmptpc_kotlin/build/repo")
// }
// mavenLocal()
// maven {
// url = uri("/Users/jiangyuhuan/AndroidStudioProjects/kmptpc_kotlin/build/repo")
// }
maven
{
url
=
java
.
io
.
File
(
"D:/repo"
).
toURI
()
}
mavenLocal
()
google
()
mavenCentral
()
maven
(
"https://maven.eazytec-cloud.com/nexus/repository/maven-public/"
)
}
}
...
...
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