是否有任何方法可以在plugin.xml中指定使用一个dir copy语句或自动复制src目录中的每个文件,将插件源文件夹中的每个文件复制到目标平台目录。使用被复制作为大插件的一部分是噩梦,因为我们看到在大规模的重构过程中需要手动更改。
ykejflvf1#
我还不能投票:(但Rafita是正确的。为了扩展这个答案,我做了同样的事情,因为我有一个大的文件集,组成了一个Android Activity,其中包括许多java源文件,资产,布局和资源,都需要安装到平台中(并与任何现有的由核心Android插件生成的文件合并)。
<source-file src="src/android/java/com/acme" target-dir="src/com" />会将整个软件包树复制到platforms/android/src/com/acme目录中。而对于资源和资产,你可以这样做:<resource-file src="src/android/res" target="res" /> <resource-file src="src/android/assets" target="assets" />
<source-file src="src/android/java/com/acme" target-dir="src/com" />
platforms/android/src/com/acme
<resource-file src="src/android/res" target="res" /> <resource-file src="src/android/assets" target="assets" />
<source-file src="src/ios" target-dir="src"/>将所有源文件从plugin/src/ios目录复制到platforms/ios/Project-Name/Plugins/plugin-name目录
<source-file src="src/ios" target-dir="src"/>
plugin/src/ios
platforms/ios/Project-Name/Plugins/plugin-name
jaxagkaj2#
您可以执行与处理任何文件相同的操作。只需用途:
<source-file src="src/android/libs/YourDIR" target-dir="libs"/>
Cordova会认识到这一点,从而会将整个YourDIR复制到一个目标库中,例如。
bfhwhh0e3#
之所以会发生这种情况,是因为我将插件文件隐藏在一个嵌套的文件夹结构中(这是Java通常需要的):
-- my-plugin/ +-- src/ +-- com/ +-- abc/ +-- def/ +-- MyPlugin.java
但plugin.xml设置与此不匹配。特别是
plugin.xml
<param name="android-package" value="com.abc.def.MyPlugin"/>
必须包含具有完全限定命名空间的类名。还要确保<source-file>元素具有正确的值。下面是更多的plugin.xml文件供参考:
<source-file>
<platform name="android"> <config-file target="res/xml/config.xml" parent="/*"> <feature name="MyPlugin"> <param name="android-package" value="com.abc.def.MyPlugin"/> </feature> </config-file> ... <source-file src="src/com/abc/def/MyPlugin.java" target-dir="com/abc/def" /> </platform>
3条答案
按热度按时间ykejflvf1#
我还不能投票:(但Rafita是正确的。为了扩展这个答案,我做了同样的事情,因为我有一个大的文件集,组成了一个Android Activity,其中包括许多java源文件,资产,布局和资源,都需要安装到平台中(并与任何现有的由核心Android插件生成的文件合并)。
<source-file src="src/android/java/com/acme" target-dir="src/com" />
会将整个软件包树复制到platforms/android/src/com/acme
目录中。而对于资源和资产,你可以这样做:
<resource-file src="src/android/res" target="res" /> <resource-file src="src/android/assets" target="assets" />
<source-file src="src/ios" target-dir="src"/>
将所有源文件从plugin/src/ios
目录复制到platforms/ios/Project-Name/Plugins/plugin-name
目录jaxagkaj2#
您可以执行与处理任何文件相同的操作。
只需用途:
Cordova会认识到这一点,从而会将整个YourDIR复制到一个目标库中,例如。
bfhwhh0e3#
之所以会发生这种情况,是因为我将插件文件隐藏在一个嵌套的文件夹结构中(这是Java通常需要的):
但
plugin.xml
设置与此不匹配。特别是必须包含具有完全限定命名空间的类名。还要确保
<source-file>
元素具有正确的值。下面是更多的
plugin.xml
文件供参考: