调整Tauri项目层级
更新于
约 16 分钟阅读
· 1880 字
Coding Notes
Coding
#Tauri
#前端
#项目组织
难顶
不然的话,好不容易cargo clean完成,清静下来想要之写写前端部分,结果VSCODE一打开项目,rust-analyzer就开始疯狂的编译,CPU直接拉满,电脑风扇开始呼啸,真是难顶
解决方案
把前端项目放在应用层里面,才是对电脑最友好的方式吧!这样在写前端的时候,就不会触发rust-analyzer的自动编译了
- 创建tauri项目
- 删掉src-tauri以外的其他文件
- 把整个前端项目文件夹放到src-tauri的同级目录下
- 打开整个项目,配置一下tauri路径
主要修改一下tauri.conf.json的build字段即可,例如默认是:
"build": {
"beforeDevCommand": "npm run dev",
"devUrl": "http://localhost:1420",
"beforeBuildCommand": "npm run build",
"frontendDist": "../dist"
},
修改为:
"build": {
"beforeDevCommand": "cd ../前端文件夹名 && npm run dev",
"devUrl": "http://localhost:1420",
"beforeBuildCommand": "cd ../前端文件夹名 && npm run build",
"frontendDist": "../前端文件夹名/dist"
},
这样就OK了,指令正常在最外层跑就可以,毕竟build里面的字段是基于src-tauri的路径的,所以要加上../,这样就可以了
OK,完事了,前端写起来舒服多了
后续问题
Finished `dev` profile [unoptimized + debuginfo] target(s) in 41.30s
Info symlinking lib "D:\\CodeZone\\WebZone\\HakoZone\\hakotelos\\src-tauri\\target\\x86_64-linux-android\\debug\\libhakotelos_lib.so" in jniLibs dir "D:\\CodeZone\\WebZone\\HakoZone\\hakotelos\\src-tauri\\gen/android\\app/src/main/jniLibs/x86_64"
Info "D:\\CodeZone\\WebZone\\HakoZone\\hakotelos\\src-tauri\\target\\x86_64-linux-android\\debug\\libhakotelos_lib.so" requires shared lib "libandroid.so"
Info "D:\\CodeZone\\WebZone\\HakoZone\\hakotelos\\src-tauri\\target\\x86_64-linux-android\\debug\\libhakotelos_lib.so" requires shared lib "libdl.so"Debug
Info "D:\\CodeZone\\WebZone\\HakoZone\\hakotelos\\src-tauri\\target\\x86_64-linux-android\\debug\\libhakotelos_lib.so" requires shared lib "liblog.so"
Info "D:\\CodeZone\\WebZone\\HakoZone\\hakotelos\\src-tauri\\target\\x86_64-linux-android\\debug\\libhakotelos_lib.so" requires shared lib "libm.so"
Info "D:\\CodeZone\\WebZone\\HakoZone\\hakotelos\\src-tauri\\target\\x86_64-linux-android\\debug\\libhakotelos_lib.so" requires shared lib "libc.so"
Java compiler version 21 has deprecated support for compiling with source/target version 8.
Try one of the following options:
1. [Recommended] Use Java toolchain with a lower language version
2. Set a higher source/target version
3. Use a lower version of the JDK running the build (if you're not using Java toolchain)
For more details on how to configure these settings, see https://developer.android.com/build/jdks.
To suppress this warning, set android.javaCompile.suppressSourceTargetDeprecationWarning=true in gradle.properties.
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
e: Daemon compilation failed: null
java.lang.Exception
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:69)
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:65)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:244)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:175)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:135)
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:73)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:195)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:128)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:170)
at org.gradle.internal.Factories$1.create(Factories.java:31)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:267)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:131)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:136)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:165)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:134)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Chest\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tauri-plugin-shell-2.2.1\android\src\main\java\ShellPlugin.kt and D:\CodeZone\WebZone\HakoZone\hakotelos\src-tauri\gen\android.
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117)
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128)
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:22)
at org.jetbrains.kotlin.incremental.storage.ComplementarySourceFilesMap.get(ComplementarySourceFilesMap.kt:22)
at org.jetbrains.kotlin.incremental.AbstractIncrementalCache.getComplementaryFilesRecursive(AbstractIncrementalCache.kt:227)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.doCompile(IncrementalCompilerRunner.kt:455)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:400)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:281)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:125)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:657)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:105)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1624)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720)
... 3 more
Failed to compile with Kotlin daemon: java.lang.Exception
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:69)
at org.jetbrains.kotlin.daemon.common.CompileService$CallResult$Error.get(CompileService.kt:65)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:244)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:175)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:135)
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:73)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:195)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:128)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:170)
at org.gradle.internal.Factories$1.create(Factories.java:31)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:267)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:131)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:136)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:165)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:134)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.IllegalArgumentException: this and base files have different roots: C:\Users\Chest\.cargo\registry\src\index.crates.io-1949cf8c6b5b557f\tauri-plugin-shell-2.2.1\android\src\main\java\ShellPlugin.kt and D:\CodeZone\WebZone\HakoZone\hakotelos\src-tauri\gen\android.
at kotlin.io.FilesKt__UtilsKt.toRelativeString(Utils.kt:117)
at kotlin.io.FilesKt__UtilsKt.relativeTo(Utils.kt:128)
at org.jetbrains.kotlin.incremental.storage.RelocatableFileToPathConverter.toPath(RelocatableFileToPathConverter.kt:22)
at org.jetbrains.kotlin.incremental.storage.ComplementarySourceFilesMap.get(ComplementarySourceFilesMap.kt:22)
at org.jetbrains.kotlin.incremental.AbstractIncrementalCache.getComplementaryFilesRecursive(AbstractIncrementalCache.kt:227)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.doCompile(IncrementalCompilerRunner.kt:455)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:400)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:281)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:125)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:657)
at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:105)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1624)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:714)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720)
... 3 more
Using fallback strategy: Compile without Kotlin daemon
Try ./gradlew --stop if this issue persists.
Java compiler version 21 has deprecated support for compiling with source/target version 8.
Try one of the following options:
1. [Recommended] Use Java toolchain with a lower language version
2. Set a higher source/target version
3. Use a lower version of the JDK running the build (if you're not using Java toolchain)
For more details on how to configure these settings, see https://developer.android.com/build/jdks.
To suppress this warning, set android.javaCompile.suppressSourceTargetDeprecationWarning=true in gradle.properties.
warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release
warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
3 warnings
Performing Streamed Install
Success
Starting: Intent { cmp=com.hakotelos.app/.MainActivity }
问题在于Java编译器版本过高,导致了编译失败,但是最后它提示
Performing Streamed Install
Success
Starting: Intent { cmp=com.hakotelos.app/.MainActivity }
然后页面就卡住了,我需要Ctrl+C退出后重跑一次试试
然后就成功了
Performing Streamed Install
Success
Starting: Intent { cmp=com.hakotelos.app/.MainActivity }
Info Watching D:\CodeZone\WebZone\HakoZone\hakotelos\src-tauri for changes...
--------- beginning of main
05-11 16:29:18.139 15911 15911 I m.hakotelos.app: Late-enabling -Xcheck:jni
05-11 16:29:18.161 15911 15911 I m.hakotelos.app: Using CollectorTypeCC GC.
05-11 16:29:18.162 15911 15911 W m.hakotelos.app: Unexpected CPU variant for x86: x86_64.
05-11 16:29:18.162 15911 15911 W m.hakotelos.app: Known variants: atom, sandybridge, silvermont, goldmont, goldmont-plus, tremont, kabylake, default
05-11 16:29:20.156 15911 15911 W ziparchive: Unable to open '/data/app/~~B6UD1guDXr-LhT2JMchaBA==/com.hakotelos.app-Q44dtEB4Z-kFCX2ptID2VQ==/base.dm': No such file or directory
05-11 16:29:20.156 15911 15911 W ziparchive: Unable to open '/data/app/~~B6UD1guDXr-LhT2JMchaBA==/com.hakotelos.app-Q44dtEB4Z-kFCX2ptID2VQ==/base.dm': No such file or directory
05-11 16:29:23.442 15911 15911 W m.hakotelos.app: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (unsupported, reflection, allowed)
05-11 16:29:23.538 15911 15911 W m.hakotelos.app: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (unsupported, reflection, allowed)
05-11 16:29:23.686 15911 15911 W OpenGLRenderer: Unknown dataspace 0
05-11 16:29:24.392 15911 15975 W OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
05-11 16:29:24.393 15911 15975 W OpenGLRenderer: Failed to initialize 101010-2 format, error = EGL_SUCCESS
05-11 16:29:24.676 15911 15975 I Gralloc4: mapper 4.x is not supported
05-11 16:29:24.893 15911 15975 E OpenGLRenderer: Unable to match the desired swap behavior.
05-11 16:29:24.969 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name position
05-11 16:29:24.970 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name color
05-11 16:29:24.999 15911 15943 I OpenGLRenderer: Davey! duration=1283ms; Flags=1, FrameTimelineVsyncId=129795, IntendedVsync=23626814029156, Vsync=23626830695822, InputEventId=0, HandleInputStart=23626833019900, AnimationStart=23626833045000, PerformTraversalsStart=23626833099400, DrawStart=23628000906500, FrameDeadline=23626830695822, FrameInterval=23626832969300, FrameStartTime=16666666, SyncQueued=23628002468000, SyncStart=23628003212300, IssueDrawCommandsStart=23628009810200, SwapBuffers=23628083859500, FrameCompleted=23628097828600, DequeueBufferDuration=22200, QueueBufferDuration=165700, GpuCompleted=23628097828600, SwapBuffersCompleted=23628085754300, DisplayPresentTime=0, CommandSubmissionCompleted=23628083859500,
05-11 16:29:25.188 15911 15911 I WebViewFactory: Loading com.google.android.webview version 113.0.5672.136 (code 567263637)
05-11 16:29:25.214 15911 15911 W ziparchive: Unable to open '/data/app/~~X40hYAeaGZTJrofyxIfr-A==/com.google.android.trichromelibrary_567263637-j4p_5GstQcPhB3PKXKd5UA==/TrichromeLibrary.dm': No such file or directory
05-11 16:29:25.214 15911 15911 W ziparchive: Unable to open '/data/app/~~X40hYAeaGZTJrofyxIfr-A==/com.google.android.trichromelibrary_567263637-j4p_5GstQcPhB3PKXKd5UA==/TrichromeLibrary.dm': No such file or directory
05-11 16:29:25.215 15911 15911 W m.hakotelos.app: Entry not found
05-11 16:29:26.196 15911 15911 W m.hakotelos.app: Accessing hidden method Landroid/os/Trace;->isTagEnabled(J)Z (unsupported, reflection, allowed)
05-11 16:29:26.196 15911 15911 W m.hakotelos.app: Accessing hidden method Landroid/os/Trace;->traceBegin(JLjava/lang/String;)V (unsupported, reflection, allowed)
05-11 16:29:26.196 15911 15911 W m.hakotelos.app: Accessing hidden method Landroid/os/Trace;->traceEnd(J)V (unsupported, reflection, allowed)
05-11 16:29:26.197 15911 15911 W m.hakotelos.app: Accessing hidden method Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V (unsupported, reflection, allowed)
05-11 16:29:26.197 15911 15911 W m.hakotelos.app: Accessing hidden method Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V (unsupported, reflection, allowed)
05-11 16:29:26.243 15911 15911 I cr_WVCFactoryProvider: Loaded version=113.0.5672.136 minSdkVersion=29 isBundle=false multiprocess=true packageId=2
05-11 16:29:26.402 15911 15992 I cr_VariationsUtils: Failed reading seed file "/data/user/0/com.hakotelos.app/app_webview/variations_seed_new"
05-11 16:29:26.402 15911 15992 I cr_VariationsUtils: Failed reading seed file "/data/user/0/com.hakotelos.app/app_webview/variations_seed"
05-11 16:29:26.403 15911 15992 I cr_VariationsUtils: Requesting new seed from IVariationsSeedServer
05-11 16:29:26.594 15911 15911 I cr_LibraryLoader: Successfully loaded native library
05-11 16:29:26.598 15911 15911 I cr_CachingUmaRecorder: Flushed 8 samples from 8 histograms.
05-11 16:29:27.512 15911 16032 W chromium: [WARNING:dns_config_service_android.cc(115)] Failed to read DnsConfig.
05-11 16:29:27.512 15911 15978 I RustStdoutStderr: [WARNING:dns_config_service_android.cc(115)] Failed to read DnsConfig.
05-11 16:29:28.453 15911 15911 I Choreographer: Skipped 273 frames! The application may be doing too much work on its main thread.
05-11 16:29:28.565 15911 16058 I OpenGLRenderer: Davey! duration=4668ms; Flags=0, FrameTimelineVsyncId=129828, IntendedVsync=23626997362482, Vsync=23631547362300, InputEventId=0, HandleInputStart=23631560940800, AnimationStart=23631560980600, PerformTraversalsStart=23631561053200, DrawStart=23631572465000, FrameDeadline=23628130695770, FrameInterval=23631554689200, FrameStartTime=16666666, SyncQueued=23631651366200, SyncStart=23631651538700, IssueDrawCommandsStart=23631651621400, SwapBuffers=23631652087800, FrameCompleted=23631666295700, DequeueBufferDuration=25800, QueueBufferDuration=273000, GpuCompleted=23631666295700, SwapBuffersCompleted=23631653091700, DisplayPresentTime=0, CommandSubmissionCompleted=23631652087800,
05-11 16:29:28.730 15911 16038 W cr_media: BLUETOOTH_CONNECT permission is missing.
05-11 16:29:28.732 15911 16038 W cr_media: registerBluetoothIntentsIfNeeded: Requires BLUETOOTH permission
05-11 16:29:29.258 15911 15911 I Choreographer: Skipped 47 frames! The application may be doing too much work on its main thread.
05-11 16:29:29.380 15911 15942 I OpenGLRenderer: Davey! duration=900ms; Flags=0, FrameTimelineVsyncId=130974, IntendedVsync=23631580695632, Vsync=23632364028934, InputEventId=0, HandleInputStart=23632365536700, AnimationStart=23632365561100, PerformTraversalsStart=23632366915200, DrawStart=23632367648100, FrameDeadline=23631697362294, FrameInterval=23632365096300, FrameStartTime=16666666, SyncQueued=23632368293700, SyncStart=23632368752200, IssueDrawCommandsStart=23632369058500, SwapBuffers=23632475293600, FrameCompleted=23632481561600, DequeueBufferDuration=24100, QueueBufferDuration=204400, GpuCompleted=23632481561600, SwapBuffersCompleted=23632476136900, DisplayPresentTime=0, CommandSubmissionCompleted=23632475293600,
05-11 16:29:33.613 15911 15911 E Tauri/Console: File: http://tauri.localhost/@vite/client - Line 830 - Msg: [vite] failed to connect to websocket.
05-11 16:29:33.613 15911 15911 E Tauri/Console: your current setup:
05-11 16:29:33.613 15911 15911 E Tauri/Console: (browser) tauri.localhost/ <--[HTTP]--> localhost:3000/ (server)
05-11 16:29:33.613 15911 15911 E Tauri/Console: (browser) tauri.localhost:/ <--[WebSocket (failing)]--> localhost:3000/ (server)
05-11 16:29:33.613 15911 15911 E Tauri/Console: Check out your Vite / network configuration and https://vite.dev/config/server-options.html#server-hmr .
05-11 16:29:34.842 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name resolveLevel_and_idx
05-11 16:29:34.842 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name p01
05-11 16:29:34.842 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 2 name p23
05-11 16:29:34.842 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 3 name fanPointAttrib
05-11 16:29:34.847 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name position
05-11 16:29:34.847 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name color
05-11 16:29:34.863 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name inPosition
05-11 16:29:34.864 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name inColor
05-11 16:29:34.864 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 2 name inCircleEdge
05-11 16:29:34.870 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name fillBounds
05-11 16:29:34.870 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name color
05-11 16:29:34.870 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 2 name locations
05-11 16:29:34.877 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name inPosition
05-11 16:29:34.877 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name inColor
05-11 16:29:34.877 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 2 name inQuadEdge
05-11 16:29:34.936 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name position
05-11 16:29:34.936 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name color
05-11 16:29:34.937 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 2 name localCoord
05-11 16:29:34.944 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name inPosition
05-11 16:29:34.944 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name inColor
05-11 16:29:34.944 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 2 name inCircleEdge
05-11 16:29:34.960 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name position
05-11 16:29:34.960 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name color
05-11 16:29:34.964 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name inPosition
05-11 16:29:34.964 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name inColor
05-11 16:29:34.964 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 2 name inTextureCoords
05-11 16:29:34.992 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name inPosition
05-11 16:29:34.993 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name inColor
05-11 16:29:34.993 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 2 name inTextureCoords
05-11 16:29:35.001 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name position
05-11 16:29:35.002 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name localCoord
05-11 16:29:35.005 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 0 name position
05-11 16:29:35.005 15911 15978 I RustStdoutStderr: s_glBindAttribLocation: bind attrib 1 name color
这些日志主要说的是
libhakotelos_lib.so需要的共享库Java compiler version 21 has deprecated support for compiling with source/target version 8.这个是因为我使用的Android Studio版本过高,导致编译器版本过高Performing Streamed Install这个是安装成功了Starting: Intent { cmp=com.hakotelos.app/.MainActivity }这个是启动了应用[WARNING:dns_config_service_android.cc(115)] Failed to read DnsConfig.这个是因为没有网络权限s_glBindAttribLocation: bind attrib 0 name position这个是OpenGL的日志your current setup:这个是Vite的日志,提示我当前的设置是错误的Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...这个是OpenGL的日志Accessing hidden method这个是Android的日志,提示我访问了隐藏的方法Unable to match the desired swap behavior.这个是OpenGL的日志Unknown dataspace 0这个是OpenGL的日志Failed to initialize 101010-2 format, error = EGL_SUCCESS这个是OpenGL的日志
其他的暂时不看了,主要是因为我使用的Android Studio版本过高,导致编译器版本过高,导致编译失败,但是最后它提示Performing Streamed Install和Starting: Intent { cmp=com.hakotelos.app/.MainActivity },然后页面就卡住了,我需要Ctrl+C退出后重跑一次试试,然后就成功了。
打包
新版Tauri的移动端打包我还没有记录过,我先直接build一下看看
cargo tauri android build
居然一次能成功,虽然我预料还是会有key的问题,不过比之前的beta版本要好很多了
果然,PackageInfo is null
那就继续开始配置吧