【问题标题】:Configure eclipse to use my own Android SDK (framework.jar)配置eclipse使用我自己的Android SDK(framework.jar)
【发布时间】:2013-02-06 13:04:09
【问题描述】:

我为我的设备制作了一个自定义的 framework.jar。这个新框架包括一个我想在我的应用程序中使用的新 API。不幸的是,除了我在 java 构建路径中包含了我自己的 framework.jar 之外,eclipse 没有看到我的新 API 并引发编译时错误。 如何配置 eclipse 以使用我的自定义 framework.jar 而不是 android SDK 中的 jar?

[编辑]

根据@Yuri 的回答和其他一些见解,我创建了一个工具(实际上它是一个shell 脚本)来在android SDK 中创建一个新平台并将jar 文件合并到其中。它可以在 XDA 论坛下载以及使用说明:http://forum.xda-developers.com/showthread.php?t=2619775

【问题讨论】:

    标签: android eclipse android-source android-framework


    【解决方案1】:

    要构建 SDK,您应该运行以下命令:

    make update-api
    make sdk
    

    由于 Android 的 API 已被修改,命令 make update-api 添加了新的 API。命令make sdkout 文件夹中创建SDK。

    然后,要开始使用新 SDK 在 Eclipse 中开发您的应用程序,您应该添加这个新 SDK。有 2 种可能性可以做到这一点。第一个来自“嵌入式Android”一书。我这里复制一下:

    假设您已经为 Android 开发配置了 Eclipse 使用http://developer.android.com 的说明,你需要 执行两个额外的步骤来使用您新建的 SDK。第一的, 您需要告诉 Eclipse 新 SDK 的位置。为此,请前往 到Window→Preferences→Android,在里面输入新SDK的路径 “SDK 位置”框,然后单击“确定”。此外,由于不是 在撰写本文时,作者完全清楚,您也 需要进入Window→“Android SDK Manager”,取消选择所有项 除了“工具”下的前两个之外,可能会被选中,然后单击 “安装 2 个包...” 完成后,您将能够创建 使用新 SDK 的新项目并访问您在其中公开的任何新 API 它。如果您不执行第二步,您将能够创建新的 Android 项目,但没有一个会解析 Java 库 正确,因此永远不会构建。

    至于第二个是:

    1. 为您找到新的构建 sdk zip(对于 Linux,可在此处找到 out/host/linux-x86/sdk/)
    2. 将此包解压缩到一个文件夹中
    3. 在此文件夹中,您可以找到名为 platforms/android-2.3.3
    4. 将文件夹 android-2.3.3 重命名为 <your_name>
    5. 将此文件夹复制到以下安装位置 您的 SDK 经理:android-sdk-linux/platforms
    6. 在此文件夹中找到文件build.prop 并分配给属性 ro.build.version.sdk 任何负数: ro.build.version.sdk=-10
    7. 现在运行 SDK Manager,您会注意到添加了新的 sdk。 只需创建新的 Eclipse 项目并选择此 sdk 作为目标。

    【讨论】:

    • out/host/linux-x86/里面没有sdk/文件夹,只有bin/、framework/、lib/、obj/和usr/
    • @Plinio.Santos 我已经添加了如何构建 sdk 的描述。
    • Android Studio 的任何已知方式?我试过了,但它不起作用(实际上是一种变体 - 复制原始文件并粘贴另一个文件夹名称,并将 android.jar 更改为自定义的,但它不起作用)。
    【解决方案2】:

    试试这个:

    • 在你的项目中创建新的 floder put floder name="libs"
    • 并在此处包含库。
    • 然后运行应用程序
    • 我希望它能正常工作

    【讨论】:

    • 在这种情况下,我认为我的自定义framework.jar会包含在我的apk中,对吗?我想要的是我的应用直接从设备使用这个新 API。
    【解决方案3】:

    这是个好问题!我猜您的提示对 Android Studio 用户也很有用。

    仅供参考,对于 IntelliJ 用户,您也可以这样做:

    1. 项目设置 > 模块 > 单击依赖项选项卡 > 单击“+”按钮 > 选择“JAR 或目录”
    2. 找到 .jar 并选择它
    3. 将 .jar 移到依赖项列表的顶部(甚至在 SDK 之前)
    4. 将范围更改为“提供”(而不是“编译”)

    通过第 4 步,您可以避免制作巨大的 .dex。 (您的 apk 将不包含 framework.jar。)

    【讨论】:

    • 也许值得注意的是,它是底部附近的“+”按钮(在“依赖项”选项卡本身中),不是左上角的“+”按钮窗户。我第一次错误地点击了后者,结果让我大吃一惊。
    猜你喜欢
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2012-01-13
    相关资源
    最近更新 更多