gpt4 book ai didi

android - 找不到要复制的文件 libil2cpp.dbg.so - :unityLibrary:BuildIl2CppTask

转载 作者:行者123 更新时间:2023-12-02 23:08:54 76 4
gpt4 key购买 nike

我正在 Windows VM 上构建适用于 Android 的 Unity 项目,当我运行 Azure DevOps 管道时,收到以下错误消息:

* What went wrong:
Execution failed for task ':unityLibrary:BuildIl2CppTask'.
> Warning: Could not find file [Path here]\jniLibs\arm64-v8a\libil2cpp.dbg.so to copy.

当我运行任务时会发生这种情况:

  - bash: |
chmod +x '$(System.ArtifactsDirectory)\...path...\il2CppOutputProject\IL2CPP\build\deploy\netcoreapp3.1'
chmod +x gradlew
./gradlew assembleRelease --stacktrace --info
./gradlew generateAPIDoc

起初,在我看来,/libil2cpp.dbg.so 似乎不会被发现,因为它被移动到/libil2cpp.so。在 VM 上的 unityLibrary/build.gradle 中,存在以下代码(它不是存储库上代码的一部分):

def BuildIl2Cpp(String workingDir, String configuration, String architecture, String abi, String[] staticLibraries) {
def commandLineArgs = []
commandLineArgs.add("--compile-cpp")
commandLineArgs.add("--platform=Android")
commandLineArgs.add("--architecture=" + architecture)
commandLineArgs.add("--outputpath=" + workingDir + "/src/main/jniLibs/" + abi + "/libil2cpp.so")
commandLineArgs.add("--libil2cpp-static")
commandLineArgs.add("--baselib-directory=" + workingDir + "/src/main/jniStaticLibs/" + abi)
commandLineArgs.add("--configuration=" + configuration)
commandLineArgs.add("--dotnetprofile=unityaot-linux")
commandLineArgs.add("--profiler-report")
commandLineArgs.add("--profiler-output-file=" + workingDir + "/build/il2cpp_"+ abi + "_" + configuration + "/il2cpp_conv.traceevents")
commandLineArgs.add("--print-command-line")
commandLineArgs.add("--generatedcppdir=" + workingDir + "/src/main/Il2CppOutputProject/Source/il2cppOutput")
commandLineArgs.add("--cachedirectory=" + workingDir + "/build/il2cpp_"+ abi + "_" + configuration + "/il2cpp_cache")
commandLineArgs.add("--tool-chain-path=" + android.ndkDirectory)
staticLibraries.eachWithIndex {fileName, i->
commandLineArgs.add("--additional-libraries=" + workingDir + "/src/main/jniStaticLibs/" + abi + "/" + fileName)
}
def executableExtension = ""
if (org.gradle.internal.os.OperatingSystem.current().isWindows())
executableExtension = ".exe"
exec {
executable workingDir + "/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp" + executableExtension
args commandLineArgs
environment "ANDROID_SDK_ROOT", getSdkDir()
}
delete workingDir + "/src/main/jniLibs/" + abi + "/libil2cpp.sym.so"
ant.move(file: workingDir + "/src/main/jniLibs/" + abi + "/libil2cpp.dbg.so", tofile: workingDir + "/symbols/" + abi + "/libil2cpp.so")
}

但是,我也看到管道找不到目录/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp这是真的 - unityLibrary 中不存在该目录。

我想知道如何创建未找到的目录,或者至少停止任务查找文件,或者查找/libil2cpp.so。 <- 我想至少实现该问题的一个里程碑。

我使用以下版本构建项目:

  • Android Studio 北极狐:2020.3.1
  • Unity版本:2021.3.14f1
  • Gradle 版本:7.4

Azure DevOps 中打印的预错误消息:

> Transform artifact localbroadcastmanager-1.0.0.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
Transforming artifact localbroadcastmanager-1.0.0.aar (androidx.localbroadcastmanager:localbroadcastmanager:1.0.0) with AarTransform
Caching disabled for AarTransform: C:\Users\___\.gradle\caches\transforms-2\...\localbroadcastmanager-1.0.0 because:
Build cache is disabled
Skipping AarTransform: C:\Users\___\.gradle\caches\...\localbroadcastmanager-1.0.0 as it is up-to-date.
AarTransform (Thread[Execution worker for ':' Thread 2,5,main]) completed. Took 0.007 secs.

> Task :unityLibrary:BuildIl2CppTask
Task :unityLibrary:BuildIl2CppTask in launcher Starting
Task :unityLibrary:BuildIl2CppTask in unityLibrary Starting
Caching disabled for task ':unityLibrary:BuildIl2CppTask' because:
Build cache is disabled
Task ':unityLibrary:BuildIl2CppTask' is not up-to-date because:
Task has not declared any outputs despite executing actions.
android.ndkVersion from module build.gradle is not set
ndk.dir in local.properties is C:/Program Files/Unity/Hub/Editor/2021.3.14f1/Editor/Data/PlaybackEngines/AndroidPlayer/NDK
ANDROID_NDK_HOME environment variable is not set
sdkFolder is C:\Program Files\Unity\Hub\Editor\2021.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK
NDK side-by-side folder from sdkFolder C:\Program Files\Unity\Hub\Editor\2021.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\ndk does not exist
Considering C:\Program Files\Unity\Hub\Editor\2021.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK by ndk.dir
Considering C:\Program Files\Unity\Hub\Editor\2021.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\ndk-bundle in SDK ndk-bundle folder
Rejected C:\Program Files\Unity\Hub\Editor\2021.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\ndk-bundle in SDK ndk-bundle folder because that location has no source.properties
Found requested ndk.dir (C:\Program Files\Unity\Hub\Editor\2021.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK) which has version 21.3.6528147
Starting process 'command 'C:/agent/.../unityLibrary/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp.exe''. Working directory: C:\agent\_work\7\a\unityLibrary Command: C:/agent/.../unityLibrary/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp.exe --compile-cpp --platform=Android --architecture=arm64 --outputpath=C:/agent/.../unityLibrary/src/main/jniLibs/arm64-v8a/libil2cpp.so --libil2cpp-static --baselib-directory=C:/agent/.../unityLibrary/src/main/jniStaticLibs/arm64-v8a --configuration=Release --dotnetprofile=unityaot-linux --profiler-report --profiler-output-file=C:/agent/.../unityLibrary/build/il2cpp_arm64-v8a_Release/il2cpp_conv.traceevents --print-command-line --generatedcppdir=C:/agent/.../unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput --cachedirectory=C:/agent/.../unityLibrary/build/il2cpp_arm64-v8a_Release/il2cpp_cache --tool-chain-path=C:\Program Files\Unity\Hub\Editor\2021.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK
Successfully started process 'command 'C:/agent/..../unityLibrary/src/main/Il2CppOutputProject/IL2CPP/build/deploy/il2cpp.exe''
C:\agent\...\unityLibrary\src\main\Il2CppOutputProject\IL2CPP\build\deploy\il2cpp.exe --compile-cpp --platform=Android --architecture=arm64 --outputpath=C:/agent/.../unityLibrary/src/main/jniLibs/arm64-v8a/libil2cpp.so --libil2cpp-static --baselib-directory=C:/agent/.../unityLibrary/src/main/jniStaticLibs/arm64-v8a --configuration=Release --dotnetprofile=unityaot-linux --profiler-report --profiler-output-file=C:/agent/.../unityLibrary/build/il2cpp_arm64-v8a_Release/il2cpp_conv.traceevents --print-command-line --generatedcppdir=C:/agent/.../unityLibrary/src/main/Il2CppOutputProject/Source/il2cppOutput --cachedirectory=C:/agent/.../unityLibrary/build/il2cpp_arm64-v8a_Release/il2cpp_cache --tool-chain-path=C:\Program Files\Unity\Hub\Editor\2021.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK
Starting: C:\agent\...\unityLibrary\src\main\Il2CppOutputProject\IL2CPP\build\deploy\bee_backend\win-x64\bee_backend.exe --profile="C:/agent/.../unityLibrary/build/il2cpp_arm64-v8a_Release/il2cpp_cache/buildstate/backend_profiler0.traceevents" --stdin-canary --dagfile="C:/agent/.../unityLibrary/build/il2cpp_arm64-v8a_Release/il2cpp_cache/buildstate/bee.dag" --continue-on-failure FinalProgram
WorkingDir: C:/agent/.../unityLibrary/build/il2cpp_arm64-v8a_Release/il2cpp_cache/buildstate
ExitCode: 0 Duration: 33s
Build succeeded with 0 successful nodes and 0 failed ones

Task :unityLibrary:BuildIl2CppTask in launcher Finished
Task :unityLibrary:BuildIl2CppTask in unityLibrary Finished

最佳答案

我通过创建“清理项目”和“重建项目”消除了错误,并再次生成文件 libil2cpp.dbg.so 。我认为存在一些缓存问题

关于android - 找不到要复制的文件 libil2cpp.dbg.so - :unityLibrary:BuildIl2CppTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75990425/

76 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com