具有多个jar的Unity3D(android jar+纯java库)
我是Unity3D新手,我已经用Java完成了一些项目,这些项目需要包含在我的Unity3D项目中 我想将多个JAR添加到Unity3D项目中,但当JAR在Unity项目中运行时,它们之间似乎没有任何依赖关系 为此, 我尝试将所有与Assets/Plugins/Android文件夹相关的jar添加到带有Android jar的文件夹中,以调用jar的方法 通过创建一个包含所有jar的Android项目,我试图只生成一个jar文件 通过这两种方法,我可以将我的项目构建为基于Android的,但他们显示出错误,说相关的库不存在 有没有什么方法可以将多个jar库用于Unity3D项目,并依赖于其他jar 换句话说,我想要这个结构 |主项目Unity |-dependency->| Jar lib 1 |-dependency->| Jar lib 2| jarlib1:我需要直接调用方法的库 jarlib2:lib1使用的库 有什么方法可以将多个jar库用于Unity3D项目吗 依赖于其他罐子 没有 如果您有许多相互依赖的jar库,那么必须将它们组合成一个。是的,这些罐子必须合并成一个罐子,然后你可以搭建一座桥梁,Unity可以使用它来访问它们 jarlib1:我需要直接调用方法的库 jarlib2:lib1使用的库 在这种情况下,您必须在lib1中导入lib2。然后在lib1中生成调用jarlib2中函数的函数。然后可以构建lib1和lib2 在Eclipse中,Projects->buildall。然后将它们导出到一个jar文件中。同样,在Eclipse中,File->Export…->Java->JAR文件。接下来,如果两个LIB都显示,则选择它们。使用以下设置: 爪哇: //来自Lib/jar2的东西让我们假设这是其中的函数代码具有多个jar的Unity3D(android jar+纯java库),java,android,unity3d,Java,Android,Unity3d,我是Unity3D新手,我已经用Java完成了一些项目,这些项目需要包含在我的Unity3D项目中 我想将多个JAR添加到Unity3D项目中,但当JAR在Unity项目中运行时,它们之间似乎没有任何依赖关系 为此, 我尝试将所有与Assets/Plugins/Android文件夹相关的jar添加到带有Android jar的文件夹中,以调用jar的方法 通过创建一个包含所有jar的Android项目,我试图只生成一个jar文件 通过这两种方法,我可以将我的项目构建为基于Android的,但他们
public class Lib2{
public static Lib2 instance = new Lib2();
public double getRandomNumber() {
double advancedRandomNumber = 5;
return advancedRandomNumber;
}
}
public class Lib1{
public static Lib1 instance = new Lib1();
public double getMagicRandomNumber() {
double advancedRandomNumber = 15;
return advancedRandomNumber;
}
//Bridge to access Stuff from jar 2
public double getExtraMagicRandomNumber()
{
return Lib2.instance.getRandomNumber();
}
}
//Lib/jar1com.roxy.app包中的内容让我们假设这是其中的函数代码
public class Lib2{
public static Lib2 instance = new Lib2();
public double getRandomNumber() {
double advancedRandomNumber = 5;
return advancedRandomNumber;
}
}
public class Lib1{
public static Lib1 instance = new Lib1();
public double getMagicRandomNumber() {
double advancedRandomNumber = 15;
return advancedRandomNumber;
}
//Bridge to access Stuff from jar 2
public double getExtraMagicRandomNumber()
{
return Lib2.instance.getRandomNumber();
}
}
C:
并从Lib1中生成的桥接函数调用Lib2中的函数
就这样。这并不难,但可能无法编译,因为我直接将其键入编辑器。可能需要做一些小的修改。我倾向于忘记它。这不是团结的目的。你付出了巨大的痛苦却毫无收获。
double adRand = androidFunction.Call<double>("getExtraMagicRandomNumber");