为 Android 创建 "closed" 可共享项目
Creating a "closed" shareable project for Android
我一直在尝试使用@CommonsWare 对 here 的回答来制作一个 Android 项目(在 Eclipse ADT 中),我可以共享它而无需将我的所有代码提供给与之共享的人(该代码具有连接到我们服务器的专有内容,我们不想让人们在没有此组件的情况下轻松连接到我们的服务器)。
我的项目目前是一个简单的控件(一个按钮),按下它会做一些事情,包括播放音调和向我们的服务器发送信息(有一个界面供用户提供信息)。
作为一个普通的包含库项目,它运行良好,我可以将大部分逻辑放在一个单独的 JAR 中,而无需在另一个项目中使用任何资源。但理想情况下,我希望将整个代码(按钮 onClick 方法等)也从窥视中包裹起来,只让实际资源保持打开状态(因为我知道这是不可避免的)
我可能误解了 Mark 在他的回答中写的内容,但我所做的是构建项目,然后 select "Export",select "Java|JAR File",然后 select 在工作项目中的 bin 目录和下面我要导出的 类(还有 "libs" 下的一些 JAR)。我从 "bin" 中选择的 类 似乎在 JAR 中,但像这样打包在第二个 JAR 中:
JAR
|
META-INF
libs
bin----
|
R.txt
jarlist.cache
myprojectname.jar
AndroidManifest.xml
(指代按钮的类在"myprojectname.jar"里面)
当我导入他的项目时(使用主要的外部 JAR 并且没有解决方案中建议的源代码)我的主项目无法识别按钮类型。
有人知道我做错了什么吗?
不幸的是,我不能使用 AAR,因为我现在必须与 Eclipse 用户兼容。
如今,我将重点关注 AAR 作为重用单元。那么您的挑战是让 Eclipse 用户能够使用 AAR。为此,我知道三种可能性:
如果他们使用 Maven for Android Eclipse 插件,我的理解是它可以处理 AAR 文件,虽然我没有尝试过。
Andmore(长期的 Eclipse-for-Android 继任者)有望原生支持 AAR。
您可以将 AAR 转换为常规 Android 库项目,因为 AAR 大多只是一个 ZIP 存档。 This Stack Overflow answer provides the recipe (at least, one that worked in 2014), and this blog post of mine outlines a deaar
Ruby script that automates the conversion。请注意,自去年夏天以来我就没有玩过这个,虽然我不知道有任何 AAR 格式更改会破坏配方或脚本,俗话说,YMMV。
我一直在尝试使用@CommonsWare 对 here 的回答来制作一个 Android 项目(在 Eclipse ADT 中),我可以共享它而无需将我的所有代码提供给与之共享的人(该代码具有连接到我们服务器的专有内容,我们不想让人们在没有此组件的情况下轻松连接到我们的服务器)。
我的项目目前是一个简单的控件(一个按钮),按下它会做一些事情,包括播放音调和向我们的服务器发送信息(有一个界面供用户提供信息)。
作为一个普通的包含库项目,它运行良好,我可以将大部分逻辑放在一个单独的 JAR 中,而无需在另一个项目中使用任何资源。但理想情况下,我希望将整个代码(按钮 onClick 方法等)也从窥视中包裹起来,只让实际资源保持打开状态(因为我知道这是不可避免的)
我可能误解了 Mark 在他的回答中写的内容,但我所做的是构建项目,然后 select "Export",select "Java|JAR File",然后 select 在工作项目中的 bin 目录和下面我要导出的 类(还有 "libs" 下的一些 JAR)。我从 "bin" 中选择的 类 似乎在 JAR 中,但像这样打包在第二个 JAR 中:
JAR
|
META-INF
libs
bin----
|
R.txt
jarlist.cache
myprojectname.jar
AndroidManifest.xml
(指代按钮的类在"myprojectname.jar"里面) 当我导入他的项目时(使用主要的外部 JAR 并且没有解决方案中建议的源代码)我的主项目无法识别按钮类型。
有人知道我做错了什么吗?
不幸的是,我不能使用 AAR,因为我现在必须与 Eclipse 用户兼容。
如今,我将重点关注 AAR 作为重用单元。那么您的挑战是让 Eclipse 用户能够使用 AAR。为此,我知道三种可能性:
如果他们使用 Maven for Android Eclipse 插件,我的理解是它可以处理 AAR 文件,虽然我没有尝试过。
Andmore(长期的 Eclipse-for-Android 继任者)有望原生支持 AAR。
您可以将 AAR 转换为常规 Android 库项目,因为 AAR 大多只是一个 ZIP 存档。 This Stack Overflow answer provides the recipe (at least, one that worked in 2014), and this blog post of mine outlines a
deaar
Ruby script that automates the conversion。请注意,自去年夏天以来我就没有玩过这个,虽然我不知道有任何 AAR 格式更改会破坏配方或脚本,俗话说,YMMV。