【问题标题】:Runtime Directory in Android ProjectAndroid 项目中的运行时目录
【发布时间】:2013-11-15 04:51:33
【问题描述】:

我有一个带有运行时目录的android项目,这个目录下有一个jar文件。这个项目可以在eclipse中构建。但是,如果我将 jar 文件放在其他地方,比如 libs 目录。该项目将无法构建。另外,即使我把jar文件放在runtime目录下,这个项目也无法在Intellij中构建。当项目构建失败时,错误日志如下所示。

Android Dex:[GameDemo] 模拟例外:

..... 错误范围 5..6;实际尺寸 5

在字节码偏移量 0000005

同时处理 ()V

所以这是我的问题:

  1. 给定Eclipse中的一个项目,为什么jar文件在运行时库中时可以构建项目,但在libs目录中时不能。
  2. 虽然jar在runtime目录下,为什么这个项目不能在Itellij中构建。就android项目而言,这两个ide的构建过程有什么不同。

谢谢!

【问题讨论】:

  • 什么是runtime directory
  • 一个目录名运行时

标签: java android eclipse ant intellij-idea


【解决方案1】:

我相信您遇到此问题是因为您正在尝试集成 CMCC 的移动 SDK。这是一块垃圾,但这是另一个话题。出于您的目的,只需在 IntelliJ 项目的模块设置中将库设置为“已提供”而不是“编译”即可让您通过编译阶段。 SDK 可能会即时加载它,但不确定为什么需要这样做。还要注意如何添加他们提供的动态库。确保你做一个简单的复制而不是通过 android NDK 模块依赖废话。

【讨论】:

  • 感谢您的重播,您的猜测是正确的。事实上,我正在处理 CMCC 移动 SDK。几天前我发现了这一点,但我的情况不仅是让这件垃圾在 Intellij 中工作。他们提供的jar文件只用于编译,不用于dexing。他们利用 so 文件在运行时编织所有的类和类型。无论如何,谢谢你为我提供这些信息。
  • 仍然收到错误,设置为“提供”对我不起作用。我正在使用 Android Studio。
【解决方案2】:

似乎他们想避免他们的 sdk 被轻松反编译和字节黑客攻击。

因此他们提供了一个用 java 编写的开发时库,该库仅具有接口功能,并在本机库中实现了真正的逻辑/类型/类。

【讨论】:

  • 确实,他们做到了。但是,一旦 ART 成为默认运行时环境,它们的机制可能会失败。
猜你喜欢
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 2016-04-13
  • 2011-05-29
  • 1970-01-01
  • 2013-01-04
  • 1970-01-01
相关资源
最近更新 更多