问题标签 [dalvik]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
457 浏览

android - 何时使用 LEB128 (u/s)?

在 dex 文件中,LEB128 用于什么目的?这个页面说它
在 .dex 文件中使用,LEB128 仅用于编码 32 位数量。 LEB128还有其他用途吗?

0 投票
1 回答
2092 浏览

java - 重新加载相机预览之前的Android内存问题

在我的应用程序中,我有一个充当相机预览的 Activity。我使用了一个横跨整个屏幕的 SurfaceView,以及一堆覆盖在它上面的项目,但没什么太复杂的。此活动可以启动其他活动,然后这些活动将返回到相机预览。

我一直非常小心地清理资源,回收位图,避免内存泄漏等。我可以运行这个应用程序并疯狂地测试它,但是当我的手机已经打开一段时间并且其他应用程序在内存中时,我得到恢复或创建包含相机预览的 Activity 时静默关闭。重现崩溃的常见测试用例是一遍又一遍地使用应用程序、拍摄照片(触发处理)、启动子活动等。退出应用程序,启动一些资源/图形繁重的东西,然后恢复我的应用程序。

以下是崩溃时的一些 logcat 输出:

我的活动在每一步都记录,所以这发生在调用 super.onCreate 和将上下文视图设置为我的 xml 布局之间的 Activity.onCreate 中。我的第一个想法是,在内存紧张的情况下,获取 SurfaceHolder 或 SurfaceHolder 方法中发生的任何事情的过程可能太多了,但这是在此之前发生的事情。在解析我的 xml 布局和构建 View 对象时,它似乎发生在 setContentView 中。

我的相机预览代码取自我在书籍和文章中找到的示例,所以我想知道在 surfaceDestroyed 中是否需要做任何额外的清理工作?那时我应该尝试触发垃圾收集吗?这种想法的原因是系统有足够的内存让应用程序在内存较少的情况下运行。它要么与我自己的应用程序没有足够的自我清理有关,要么与系统无法足够快地为我的应用程序回收内存有关。我不明白为什么在 setContentView 期间它试图分配这么多新内存。

这是我的表面回调代码和活动中发生的事情的解释

0 投票
2 回答
1644 浏览

java - 如何在 Sun JVM 中配置 SAX 解析器以匹配 Android 解析器?

有没有办法在 SAX 解析器上配置特性/属性,使其与默认的 Android 匹配?

我已经为 Atom 提要实现了一个 SAX 解析器,我希望能够在不通过 InstrumentationTestCase 运行它的情况下对其进行单元测试。我马上看到的不同之处在于,在 startElement() 中,localName 在 Android 上运行时具有元素名称,而在 Sun JVM 下运行时填充了“name”方法参数。此外,在 Sun JVM 上运行时会忽略空格,但在 Android 上则不会。

0 投票
2 回答
9361 浏览

android - Android 错误“无法解析虚拟方法 java/beans/PropertyDescriptor”是否有解决方法?

我正在尝试在 Android 应用程序中使用第三方 jar 文件。我已经能够很好地使用 jar 文件中的一些类。但是,其中一个类引用了 dalvik vm 似乎不支持的一些 Java 类。这些是我在 LogCat 中看到的一些错误:

dalvik 似乎不支持与自省和反射相关的 Java 类。我想了解两件事。这是在不久的将来在 dalvik 中支持这一点的计划吗?其次,有没有人建议解决这个问题?

0 投票
3 回答
76099 浏览

java - 学习 Smali 的最佳方式是什么(以及如何/何时使用 Dalvik VM 操作码)?

我知道Java,也学过C,但从未使用过。我不知道任何形式的组装,无论是虚拟机还是真实的。

学习如何破解 Smali 的最佳方法是什么?

0 投票
2 回答
2306 浏览

java - Android中的双重检查锁定

根据许多人的说法,除非您运行 1.5 或更高版本并使用volatile关键字,否则有些常见的 Double-Checked Locking 惯用语在 java 中已被破坏。

一个损坏的双重检查锁示例:

该示例来自这篇文章,该文章还提供了有关如何修复它的详细信息: http ://www.cs.umd.edu/~pugh/java/memoryModel/DoubleCheckedLocking.html

Pugh 的上述分析是针对 Java 虚拟机的。我在 Android 上工作,经常使用采用双重检查锁定的库。dalvik VM 的内存模型是否支持这个习语?

0 投票
3 回答
3616 浏览

java - 安卓转接电话

我今天试图找出我桌子上的一个错误。我还没有为 java/android 开发太多东西,但无论如何我都在尝试解决这个问题。

我有一个退出的同事开发的 android 应用程序。目前该应用程序在 2.2 中运行。但是当使用 2.3 运行它时,应用程序会失败。

它是一款帮助在电信公司交换机内转接电话的应用程序。

所以发生的事情是这样的。

人员 A(内部号码 001)接到 X 先生的电话。人员 A 接听并说您好,人员 B(内部号码 002)非常了解这个问题!让我把你转给他!

然后 A 用他的手机拨打 002 并等待大约 10 分钟(足够长的时间让电话通过并开始拨号),然后再拨打 4 号电话(内部电信转移命令)将 MR.X 转移给 B。

简而言之,只需单击列表中的一个人,该应用程序就会执行此操作。

首先呼叫 B 人,延迟 10 sek 呼叫号码 4。

进而

如前所述,这适用于 2.2。

但是在 2.3 中,我得到了以下堆栈跟踪。

所以我想在我花这么多时间解决这个问题之前问一下是否有一个简单的解决方案来解决这个问题?

谢谢!

编辑:我什至尝试过手动执行此过程(接听来电,暂停,呼叫同事并再次呼叫数字 4 以转移它)与应用程序获得的相同错误。那么android是否阻止了移动交换机的功能?

编辑:这个错误只影响谷歌疯狂的“香草”安卓手机。HTC三星没有!确诊病例:Nexus S

0 投票
2 回答
1831 浏览

android - 如何在 Android 上使用 GDB 运行 Dalvik 可执行文件?

我想用 GDB 在 Android 上调试一个应用程序,我可以用 gdb 和进程号连接它,但我想从一开始就看看它做了什么。

有没有办法做到这一点?

0 投票
3 回答
2025 浏览

android - 转换为 Dalvik 格式失败,错误 1

这是我的错误:

好吧,5分钟前它起作用了。没有改变任何东西(只是再次启动了 android 模拟器) - 那么现在发生了什么?

多谢你们。

0 投票
1 回答
1895 浏览

android - 转换为 Dalvik 格式失败,出现错误 1 ​​错误。我可以做什么?

当我在我的 Eclipse 项目中添加 Web 服务客户端时,控制台会显示底部文本。我能做些什么来解决这个问题?谢谢

不构建核心库时对核心类(java.* 或 javax.*)的不明智或错误使用。

这通常是由于在使用 IDE(例如 Eclipse)时无意中在应用程序的项目中包含了核心库文件。如果您确定您不是故意定义核心类,那么这是对正在发生的事情的最可能的解释。

但是,您实际上可能正在尝试在核心命名空间中定义一个类,例如,您可能从非 Android 虚拟机项目中获取了该类的源代码。这肯定是行不通的。至少,它会危及您的应用程序与平台未来版本的兼容性。它的合法性也经常受到质疑。

如果你真的打算构建一个核心库——它只适合作为创建完整虚拟机发行版的一部分,而不是编译应用程序——然后使用“--core-library”选项来抑制这个错误消息。

如果您继续使用“--core-library”但实际上是在构建应用程序,那么请预先警告您的应用程序在某些时候仍然无法构建或运行。请为愤怒的客户做好准备,他们会发现,例如,一旦他们升级操作系统,您的应用程序就会停止运行。你会为这个问题负责。

如果您合法地使用了一些恰好位于核心包中的代码,那么您拥有的最简单安全的替代方法是重新打包该代码。也就是说,将有问题的类移动到您自己的包命名空间中。这意味着它们永远不会与核心系统类发生冲突。JarJar 是一个可以帮助您完成这项工作的工具。如果你发现你做不到这一点,那么这表明你所走的道路最终会导致痛苦、痛苦、悲伤和悲叹。

[2011-05-10 14:33:09 - BPass Webservice 测试] Dx 1 错误;中止 [2011-05-10 14:33:09 - BPass Webservice 测试] 转换为 Dalvik 格式失败,错误 1