【问题标题】:Is it possible to force Eclipse to run, despite having errors?尽管有错误,是否可以强制 Eclipse 运行?
【发布时间】:2012-02-16 17:30:27
【问题描述】:

是否可以更改 Eclipse 中的设置,以便尽管存在已知错误,但仍强制构建和运行? (即“您的项目包含错误...”不会阻止您打包 .APK)

我确实意识到这可能是一种糟糕的做法,但我只是用它来测试我自己的 Android 手机上的一些想法。对于那些感兴趣的人,导致这个问题的长篇故事是这样的:

我想在自己的手机上运行自定义版本的 AOSP 设置应用程序。据我了解,这只能通过构建整个固件来完成,因为它利用了隐藏在 sdk 中的组件。我不想构建整个固件,所以我的想法是,如果我强迫它运行,它会在手机上找到那些可用的类。 (全面披露:我不怀疑这实际上会起作用,但我想自己证明我的假设是错误的。欢迎解释为什么不这样做,但也请考虑原始问题。)

谢谢!

【问题讨论】:

    标签: android eclipse android-source


    【解决方案1】:

    您只需右键单击文件/文件夹-->构建路径-->排除。这是关于这个主题的讨论。 Exclude folders from build

    【讨论】:

    • 不幸的是,我认为这些解决方案中的任何一个都不能完全满足我的要求。实际上,我确实想将产生错误的代码包含在我的 .APK 构建中,我只是不希望它阻止构建发生。也许我的要求是不可能的?
    • 是的,您的要求是不可能的,我们建议的是解决方法。有什么特殊原因需要在 APK 中包含错误代码,当它没有被编译和使用时?
    • 我可能不了解 Android 的编译过程,但我的想法是,当代码位于 Eclipse 中时,这些类会丢失(因为它们对 SDK 是隐藏的)但是,如果我刚刚得到它们到手机上,我引用的那些相同的类可能会变得可调用,因为它们没有隐藏在设备上的实际 Android 源中。这就是我想测试的理论。
    • 不用说,我对这一切的理解程度已经达到了爱好者的水平。感谢您提供任何可以让我明白的信息。
    • SDK 没有隐藏的东西,你会得到隐藏的代码作为需要在项目的类路径中的 Jars。您开发的任何代码都需要在任何手机/机器上运行,它应该编译到该手机上运行的操作系统,未编译的代码将不会在 Java/Android 世界的任何手机上运行。
    【解决方案2】:

    仅排除文件夹不会很好,因为我猜您的错误散布在整个项目中。 所以我的建议是如果项目正在访问隐藏的API,可能会创建模拟对象的问题一一解决。

    【讨论】:

    • 你是对的。有成千上万的分散错误。不幸的是,没有一个可以解决,因为它们实际上是对隐藏/安全类的引用。他正在做一些不同的事情,但这篇 SO 帖子 link 很好地解释了这一点。尽管有未解决的错误,我希望仍然能够打包 APK。这在理论上是否可行?
    猜你喜欢
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多