Java 在字符串inisde JAR中安装apk from JAR/find path

Java 在字符串inisde JAR中安装apk from JAR/find path,java,android,jar,path,apk,Java,Android,Jar,Path,Apk,我写了两个标题,因为它可以从两边到达 我想安装一个apk,它位于我的java项目中(这意味着,从java桌面应用程序(jar文件)安装一个apk)。 我可以通过Eclipse在“run”中推动来实现这一点,而且效果很好。 我的问题是,当我创建jar文件时,apk的路径丢失了 当我运行代码时,这在Eclipse中起作用: String apk = "foo.apk" Runtime rt = Runtime.getRuntime(); rt.exec ("cmd /c adb install "

我写了两个标题,因为它可以从两边到达

我想安装一个apk,它位于我的java项目中(这意味着,从java桌面应用程序(jar文件)安装一个apk)。 我可以通过Eclipse在“run”中推动来实现这一点,而且效果很好。 我的问题是,当我创建jar文件时,apk的路径丢失了

当我运行代码时,这在Eclipse中起作用:

String apk = "foo.apk"
Runtime rt = Runtime.getRuntime(); 
rt.exec ("cmd /c adb install "+apk );

我知道我应该用像

String apk = "foo.apk"
InputStream is = this.getClass().getClassLoader().getResourceAsStream(apk);
但是我没有这个方法来使用

Runtime rt = Runtime.getRuntime(); 
rt.exec ("cmd /c adb install "+apk );
我需要文件的路径来发送安装apk的命令

在我的项目中,代码包中的foo.apk文件位于src文件夹中的“asset”文件夹中。 如果我必须移动它对我来说并不重要,但它必须在罐子里


谢谢

项目“资产”文件夹中的文件打包在APK中。但是,当您在设备上安装应用程序时,它们仍然在APK中。它们不作为单个文件在文件系统中。这里需要做的是将foo.apk从应用程序中的资产文件夹复制到Android文件系统上的临时文件(SD卡或专用数据区)。然后您可以按照您指定的方式安装。

也许我没有解释清楚。此代码适用于java桌面应用程序。我想从java桌面应用程序安装apk。没有apk打包,foo.apk打包在jar文件中,jar文件是java桌面应用程序。