Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Unity Android Studio项目转换为动态功能,而无需从一开始就将其资产复制到基础项目中_Android_Unity3d_Dynamic Feature - Fatal编程技术网

将Unity Android Studio项目转换为动态功能,而无需从一开始就将其资产复制到基础项目中

将Unity Android Studio项目转换为动态功能,而无需从一开始就将其资产复制到基础项目中,android,unity3d,dynamic-feature,Android,Unity3d,Dynamic Feature,通常,用户必须将其转换为库才能将其嵌入到另一个应用程序中。但是,现在我想将其转换为动态特性 我已经在Unity项目的清单中列出了: <dist:module dist:onDemand="true" dist:title="@string/title_gamejam_as_dynamic_feature"> <dist:fusing dist:include="true" /> </dist:module> 编辑2: 进一步检查后,我发现

通常,用户必须将其转换为库才能将其嵌入到另一个应用程序中。但是,现在我想将其转换为动态特性

我已经在Unity项目的清单中列出了:

<dist:module
    dist:onDemand="true"
    dist:title="@string/title_gamejam_as_dynamic_feature">
  <dist:fusing dist:include="true" />
</dist:module>
编辑2:

进一步检查后,我发现
mscorlib.dll
不在
mono
.so文件中,而是在Assets文件夹中。将Unity项目的
assets/bin/Data/…
复制到基础项目(完全相同的路径)中会起作用。。。但这恰恰违背了模块化的观点


Unity项目是否有任何方法可以使用它带来的资产,而不必在部署之前将其复制到基本APK中?

Unity正在Base.APK中搜索您的
.dll
,这不是您想要的,因为您使用的是动态功能

我通过将我的UnityPlayerPractivity的
getPackageCodePath()
覆盖到如下内容来解决这个问题:

override fun getPackageCodePath(): String {
    return super.getPackageCodePath().replace("base.apk", "split_unity_module.apk")
}

PS:我的模块名为
unity\u module
,因此.apk的名称类似于
split{{{your\u module\u name}}。apk

你能解决这个问题吗?
override fun getPackageCodePath(): String {
    return super.getPackageCodePath().replace("base.apk", "split_unity_module.apk")
}