gpt4 book ai didi

Android 库项目作为 jar 文件进行分发,如 google analytics

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:11:20 24 4
gpt4 key购买 nike

我看过this问题,并且对创建一个我可以分发并可以在任何 Android 应用程序中使用的 jar 文件有更多疑问。

我的要求是什么

  1. 正如我所说,我想构建和分发一个闭源库。我不希望源代码可见。
  2. 我不想在该库中使用任何 Assets 、布局和资源等等,但我想使用一些 android 特定的代码,比如 gettingandroid device id.

上面链接的 SO 问题中最流行的答案是创建一个常规 java 项目并在其中导入 android.jar。我尝试这样做,但我不知道如何添加android.jar 到任何 java 项目。我也想得到一些澄清。

此外,我想知道是否有任何其他方法使用android sdk本身(不使用java项目)创建一个封闭源库jar文件。

我认为我想要的是可能的,因为google analytics for android native apps似乎已经做到了。我确信在他们分发的 .jar 文件中,他们使用的是 android 特定代码,因为他们似乎没有其他方法可以获取设备信息以显示在分析查看器中。

编辑:有人可以澄清一下吗??

我想我已经取得了一些进步。这是我做的

  • 创建了一个常规的 android 项目(不是库项目,“是库”复选标记未选中)

  • 在项目中,我编写了我的逻辑。它使用一些安卓特定类,如 SharedPreferenceUUIDPackageManager。但与 Assets 无关,布局也没有类扩展 Activity 。只是一个扩展 java.lang.object

  • 的 java 类
  • 使用 Project->rightclick->export->Java->JAR 导出项目文件。在下一个屏幕中,我取消选中附近的复选框AndroidManifest.xml。设置要导出的目标目录和在保持默认设置的情况下单击下一步三次。然后我点击完成,在我的桌面上得到一个可爱的 libMyLibraryName.jar

然后我创建了另一个 android 项目,使用 project->rightclick->properties->java build path -> libraries->add external jar 添加了这个 libMyLibraryName.jar 到新项目。

我尝试在我的新项目中使用我在图书馆的类(class)

MyLibraryClass objClass = new MyLibraryClass(this);

而且我能够成功编译和运行。我什至将库发送给了我的一位同事,他能够在他的机器上使用该库(只要确保我工作区中的库项目不会影响使用它的项目)。

现在我有 2 个问题。

1) 我的第一个问题是,在下面给定的文档中,术语“真正的库”是什么意思?是不是可以导出到 JAR 文件的任何非 android java 项目?

However, a library project differs from an standard Android application project in that you cannot compile it directly to its own .apk and run it on an Android device. Similarly, you cannot export the library project to a self-contained JAR file, as you would do for a true library. Instead, you must compile the library indirectly, by referencing the library in the dependent application and building that application.

好吧,这部分取自 documentation在标题为“图书馆项目”下。

2) 我的第二个问题是,我创建 JAR 文件的方式有什么问题吗? 是否有任何可能的陷阱让我以后反悔?在我的重要项目中使用它之前,我想确保我没有做错什么。

我补充一下,我没有尝试创建JAVA项目并导入android.jar的方法。如果我目前所做的是错误的,我准备尝试那个。

最佳答案

android.jar将位于您安装 Android SDK 的位置。下platforms目录应该有许多其他名为 android-<version> 的目录. android.jar将在那里。选择特定于您定位的最低 Android 版本的版本。

完成后,将其复制到您的项目中。如果您使用的是 eclipse,我认为您可以直接将 jars 剪切并粘贴到您的项目中,右键单击并将其添加到构建路径。如果您不使用 eclipse 或任何其他 IDE,您只需要确保在构建 jar 文件时 android.jar 在类路径中。

之后,您新建的 android 库可以放入任何 Android 项目中。

回答您的其他问题:

  1. 真正的库是指 jar 文件,而不是 Android 库项目。

  2. 我认为您创建 jar 文件的方式没有任何问题。我会用 android.jar 做的正如我上面提到的,但你的方式也应该有效。为了验证这一点,我将检查 jar 内容并确保您拥有的所有内容都是 .class文件。

关于Android 库项目作为 jar 文件进行分发,如 google analytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10828014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com