我已经看到了这个问题,并且对于创建一个我可以分发的jar文件有一些疑问,可以在任何Android应用程序中使用.
我的要求是什么
上面链接的SO问题中最流行的答案告诉我创建一个常规的java项目并导入android.jar.我试图这样做,但我不知道如何将android.jar添加到任何java项目.我也希望得到一些澄清.
此外我想知道是否有任何其他方法使用android sdk本身(不使用java项目)创建一个封闭的源库jar文件.
我认为我想要的是可能的,因为Android原生应用程序的谷歌分析似乎已经做到了.我相信他们分发的.jar文件中他们使用的是特定于Android的代码,因为他们似乎没有办法让设备信息显示在分析查看器中.
我想我已经取得了一些进展.这就是我所做的
创建了一个常规的android项目(不是库项目,未选中"is Library"复选标记)
在项目中,我编写了我的逻辑.它使用了一些特定的Android类,如SharedPreference,UUID,PackageManager.但是没有任何与资产相关的布局,也没有类扩展
Activity.只是一个java类扩展java.lang.object
AndroidManifest.xml.设置要导出的目标目录,并在保留默认设置的情况下单击下一次三次.然后我点击了Finish,在我的桌面上找到了一个可爱的libMyLibraryName.jar.然后我创建了另一个android项目,libMyLibraryName.jar使用project-> rightclick-> properties-> java build path - > libraries-> add external jar将其添加到新项目中.
我试图在我的新项目中使用我的课程
MyLibraryClass objClass = new MyLibraryClass(this);
Run Code Online (Sandbox Code Playgroud)
我能够成功编译并运行.我甚至将图书馆发送给了我的同事之一,他可以在他的机器上使用该库(只是确保我工作区中的库项目不会影响使用它的项目).
现在我有2个问题.
1)我的第一个问题是,在下面给出的文档中,"真正的库"一词是什么意思?是否可以导出到JAR文件的任何非android java项目?
但是,库项目与标准Android应用程序项目的不同之处在于,您无法将其直接编译为自己的.apk并在Android设备上运行它.同样,您无法将库项目导出到自包含的JAR文件,就像对真正的库一样.相反,您必须通过引用依赖应用程序中的库并构建该应用程序来间接编译库.
那么这部分来自"图书馆项目"标题下的文件.
2)我的第二个问题是,我创建JAR文件的方式有什么问题?任何可能的陷阱都可能会让我以后再次陷入困境?在我的重要项目中使用它之前,我想确保我没有做一些非常错误的事情.
我可能会补充一点,我没有尝试创建JAVA项目和导入的方法android.jar.如果我目前所做的事情是错误的,我准备尝试那个.
该文件android.jar将位于您安装 Android SDK 的位置。该platforms目录下应该还有许多名为 的其他目录android-<version>。将会android.jar在那里。选择特定于您目标的最低 Android 版本的版本。
完成后,将其复制到您的项目中。如果您使用的是 eclipse,我认为您可以直接将 jar 剪切并粘贴到您的项目中,右键单击并将其添加到构建路径。如果您不使用 eclipse 或任何其他 IDE,则只需在构建 jar 文件时确保 android.jar 位于类路径中。
之后,您新构建的 Android 库就可以放入任何 Android 项目中。
回答您的附加问题:
真正的库是指 jar 文件,而不是 Android 库项目。
我认为您创建 jar 文件的方式没有任何问题。我会使用android.jar上面提到的方法来实现它,但你的方法也应该有效。为了验证这一点,我将检查 jar 内容并确保其中包含.class文件。
| 归档时间: |
|
| 查看次数: |
2484 次 |
| 最近记录: |