diff --git a/packages/playground/uts/uni_modules/test-uniplugin/app-android/index.uts b/packages/playground/uts/uni_modules/test-uniplugin/app-android/index.uts index 85857210a367c9b3363de7de81bda849d8f60db2..86a768c033d1754951979ec01b4aa277d8d43890 100644 --- a/packages/playground/uts/uni_modules/test-uniplugin/app-android/index.uts +++ b/packages/playground/uts/uni_modules/test-uniplugin/app-android/index.uts @@ -1,10 +1,14 @@ import Log from 'android.util.Log' import { IUser } from './interface.uts' import { login } from './login.uts' +import logo from '../static/logo.png' export class User implements IUser { async login(name: string, pwd: string) { login(name, pwd) Log.info('123') + Log.info(logo) + } + register(name: string) { + Log.info(logo) } - register(name: string) {} } diff --git a/packages/playground/uts/uni_modules/test-uniplugin/static/logo.png b/packages/playground/uts/uni_modules/test-uniplugin/static/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b5771e209bb677e2ebd5ff766ad5ee11790f305a Binary files /dev/null and b/packages/playground/uts/uni_modules/test-uniplugin/static/logo.png differ diff --git a/packages/playground/uts/unpackage/dist/app-plus/uni_modules/test-uniplugin/app-android/index.kt b/packages/playground/uts/unpackage/dist/app-plus/uni_modules/test-uniplugin/app-android/index.kt index 062db1856785873f50fd1b984cb14016329ad5da..9bd747a6eec7dd7acdecb504f177ea1e17ffb8db 100644 --- a/packages/playground/uts/unpackage/dist/app-plus/uni_modules/test-uniplugin/app-android/index.kt +++ b/packages/playground/uts/unpackage/dist/app-plus/uni_modules/test-uniplugin/app-android/index.kt @@ -1,6 +1,7 @@ package uts.modules.testUniPlugin; import kotlinx.coroutines.*; import io.dcloud.uts.runtime.*; +import io.dcloud.uts.andriod.getResourcePath; import android.util.Log; interface IUser { fun register(name: String): Unit; @@ -12,10 +13,14 @@ fun login(name: String, pwd: String): UtsJSONObject { var pwd = pwd }; } +val __default = getResourcePath("static/logo.png"); open class User : IUser { open suspend fun login(name: String, pwd: String) = CoroutineScope(Dispatchers.Default).async { login(name, pwd); Log.info("123"); + Log.info(__default); + } + override fun register(name: String) { + Log.info(__default); } - override fun register(name: String) {} } diff --git a/packages/uni-uts-vite/src/utils/compiler.ts b/packages/uni-uts-vite/src/utils/compiler.ts index 15b766cedc465b9b3aeb14b51079f3a164bba54a..20a455216c8c39ff0e576b6ce3d15b5db4bd29ff 100644 --- a/packages/uni-uts-vite/src/utils/compiler.ts +++ b/packages/uni-uts-vite/src/utils/compiler.ts @@ -3,9 +3,8 @@ import fs from 'fs-extra' import path from 'path' import AdmZip from 'adm-zip' import { sync } from 'fast-glob' -import { once } from '@dcloudio/uni-shared' import type { parse, bundle, UtsTarget } from '@dcloudio/uts' -import { normalizePath } from '@dcloudio/uni-cli-shared' +import { installHBuilderXPlugin, normalizePath } from '@dcloudio/uni-cli-shared' import { camelize } from '@vue/shared' export function getUtsCompiler(): { @@ -69,8 +68,12 @@ export async function compile(filename: string) { } else if (process.env.NODE_ENV === 'development') { // 开发模式下,需要生成 dex if (fs.existsSync(kotlinFile)) { + const compilerServer = getCompilerServer() + if (!compilerServer) { + return + } + const { getDefaultJar, compile } = compilerServer time = Date.now() - const { getDefaultJar, compile } = getCompilerServer() const jarFile = resolveJarPath(kotlinFile) const options = { kotlinc: resolveKotlincArgs( @@ -179,19 +182,27 @@ function resolveClassPath(jars: string[]) { return jars.join(os.platform() === 'win32' ? ';' : ':') } -const getCompilerServer = once(() => { - // eslint-disable-next-line no-restricted-globals - return require(path.resolve( - process.env.UNI_HBUILDERX_PLUGINS, - 'uniAppRun-Extension/out/main.js' - )) as { - getDefaultJar(): string[] - compile( - options: { kotlinc: string[]; d8: string[] }, - projectPath: string - ): Promise +const getCompilerServer = (): + | { + getDefaultJar(): string[] + compile( + options: { kotlinc: string[]; d8: string[] }, + projectPath: string + ): Promise + } + | false => { + try { + const compilerServerPath = path.resolve( + process.env.UNI_HBUILDERX_PLUGINS, + 'uniapp-runextension/out/main.js' + ) + // eslint-disable-next-line no-restricted-globals + return require(compilerServerPath) + } catch (e) { + installHBuilderXPlugin('uniapp-runextension') } -}) + return false +} export function parsePackage(filepath: string) { const parts = normalizePath(filepath).split('/') diff --git a/packages/uts-darwin-arm64/uts.darwin-arm64.node b/packages/uts-darwin-arm64/uts.darwin-arm64.node index 816d8b096e2adddc4f062f1ee50fc490b7872c9f..f25e3cf6aabe6b2b3b8e1c045c4329e7520713ad 100755 Binary files a/packages/uts-darwin-arm64/uts.darwin-arm64.node and b/packages/uts-darwin-arm64/uts.darwin-arm64.node differ diff --git a/packages/uts-darwin-x64/uts.darwin-x64.node b/packages/uts-darwin-x64/uts.darwin-x64.node index ba421523eca8f23666b34c5bd49e08ada774dc53..23218598dcb691a593a9220c9b69d9b9ee0495d7 100755 Binary files a/packages/uts-darwin-x64/uts.darwin-x64.node and b/packages/uts-darwin-x64/uts.darwin-x64.node differ diff --git a/packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node b/packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node index 131dbb3c15f262659ccef9041466bb652ee2db40..09af32f1ded5a2ee15629515544a40f0106db6ed 100644 Binary files a/packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node and b/packages/uts-win32-ia32-msvc/uts.win32-ia32-msvc.node differ diff --git a/packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node b/packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node index dc64e09f939bd9e34fb41a53cb2cbaaf1bd96b39..3bd2c6e0aa32953e889329291bbe508c72d86031 100644 Binary files a/packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node and b/packages/uts-win32-x64-msvc/uts.win32-x64-msvc.node differ