Tag: dalvik

如何检测Android运行时(Dalvik或ART)?

Google在Android 4.4中添加了一个新的ART运行时。 如何确定ART或Dalvik是否是当前运行时?

Android应用的插件架构?

这个问题已经转移到https://softwarerecs.stackexchange.com/questions/27841/plugins-architecture-for-an-android-app 我想实现一个开放源码应用程序的插件系统,因为它已经变得非常庞大,只有less数用户需要的许多function。 发布不同的应用程序并不是一个好的解决scheme,因为用户A需要feature7和feature24,而用户B需要f​​eature39和feature24。 我在哪里可以find一个插件架构的好例子? 这是我想要一个插件能够做到的: 重新定义特定屏幕的布局( 加载压缩的XML ?) 重新定义一个类的方法( load dex class ?, AOP ?) 例如,其中一个插件必须在特定的屏幕上添加一个button,然后单击该button将增加应用程序数据库中的值。 据我所知,这对内容提供商和意图来说是不可行的。 我想避免使核心应用程序的代码复杂到处都是大量的钩子。 插件的forms可以是SD卡上的文件,应用程序或其他任何东西。

Android计划支持Java7吗?

由于Android目前不支持java7,我发现自己想知道如果他们正在支持java7,他们是否提出了正式的评论?

如何在Dalvik虚拟机上执行Android应用程序。

我的android手机中的一个android应用程序是否运行自己的dalvik虚拟机(一个应用程序一个dalvik vm)? 或者我的android手机中的每个应用程序共享同一个单一的dalvik虚拟机? 我的手机是android 2.3。

Android:转换为Dalvik格式失败:无法执行dex:null

我正在尝试在Android上使用SmugFig SmugMug API。 它是为我设想的J2SE而devise的,所以我不确定它会在Android上工作,但我认为这是值得尝试的,而不是试图创build我自己的API。 当我加载项目虽然,我得到以下错误: Conversion to Dalvik format failed: Unable to execute dex: null 它并没有说它是什么包失败,只是“Android打包问题”,但它没有这样做之前,我添加SmugFig,它的依赖JARS的构buildpath。 我应该在哪里看? 或者,这主要是我,它不会与这些图书馆工作?

Dalvik VM和Java内存模型(Android上的并发编程)

我正在开发涉及大量并发编程的Android项目,我将实现一些自定义的线程间通信(来自java.util.concurent的一个不适合我的目的)。 并发编程并不容易,但对于Dalvik而言似乎更难。 要获得正确的代码,您应该了解一些具体的事情,以及Dalvik出现的问题。 我只是找不到有关Dalvik VM的详细文档。 大多数Android资源(甚至是developer.android.com都关注平台API,并不提供任何关于一些不平凡(或低级)事物的深层信息)。 例如,Dalvik VM符合哪个版本的Java语言规范 ? 根据回答, volatilevariables的处理是不同的,并影响使用volatilevariables的任何并发代码。 已经有一些相关的问题了: Dalvik的内存模型和Java的一样吗? 在Android中双击lockinglocking fadden的一些答案是非常有用的,但我仍然想要得到更详细和完整的问题的理解。 所以在下面的一个原始问题我很有趣(我会更新列表,如有必要,以前的问题的答案将到达): 在哪里可以find有关Dalvik VM的详细信息,可以为下面的问题提供答案。 Dalvik VM符合哪个版本的Java语言规范 ? 如果对(2)的回答是“第三版”,那么在本规范中Dalviks对Java存储器模型的支持有多完善呢? 特别是如何完成对volatilevariables语义的支持? 在Android的Double checked locking中 , fadden提供了以下注释: 对。 随着“易变”关键字的增加,这将工作在单处理器(所有版本的Android)和SMP(3.0“蜂窝”和更高版本) 这是否意味着具有双核CPU但只有Android 2.3的三星Galaxy SII可能会错误地执行并发代码? (当然,Galaxy仅仅是一个例子,问题在于Android 3.0平台之前的多核设备) 在Dalvik的内存模型中是否和Java一样? 法登提供了以下句子的答案: 目前没有任何Dalvik版本对于JSR-133来说是完全正确的 这是否意味着任何现有的正确的并发Java代码可能在发布此评论之前发布的任何Android版本上工作不正确? 更新#1:回答@ gnat的评论(太长,以至于评论) @gnat发表评论: @Alexey Dalvik不符合任何JLS版本,因为一致性要求传递不是Dalvik选项的JCK。 这是否意味着你甚至不能使用标准的Java编译器,因为它符合标准规范? 那很重要吗? 如果是的话,怎么样? 那么,我的问题是不明确的。 我的意思是, JLS不仅是Java编译器实现的规则,而且是任何JVM实现的隐含指导。 事实上,例如, JLS指出,某些types的读写是primefaces操作。 编译器编写器不是很有趣,因为读/写只是转换成一个操作码。 但对于任何应该正确实现这些操作码的JVM实现来说,这是非常重要的。 现在你应该看看我在说什么。 […]

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

我认识Java,学过C但从未使用过。 我不知道任何forms的组装,无论是虚拟机还是真正的组装。 学习如何入侵Smali最好的方法是什么?

你可以在Sun VM的Dalvik VM(Android的VM)上做什么?

我知道你可以在Dalvik的虚拟机中运行几乎所有的Java,但是这个限制并不是很清楚。 有没有人遇到任何主要的绊脚石? 任何大型图书馆都有麻烦? 任何编译为Java字节码( Scala , Jython等)的语言都不能按预期工作?

将java java支持lambdaexpression式在java 8?

据我所知,dalvik vm中的“java”在API和体系结构等方面与Java se不同,但语法却一直如此。 (如果我错了,请纠正我) 现在在java 8中lambdaexpression式的支持即将被释放,将android的java跟着它? 谷歌或aosp诺言使达尔维克一致与Java SE? 更新:现在在Android 4.4 Kit Kat(API 19)中,Java 7语法已被官方支持。 来自android.com

Android Build失败 – java.lang.IllegalArgumentException:已经添加:Lcom / google / api / client / escape / CharEscapers;

我只是准备我的Android应用程序的小更新,但当我尝试构build我的应用程序(在debugging模式)时,我得到这个奇怪的错误。 如果有人更聪明的话可以看看这个来弄清楚什么是错的。 我正在清理/重build/修复项目属性,但没有结果。 我没有线索怎么回事:(也许类似的事情发生在这里的任何人?如果这可以帮助我使用以下库:adMob(4.1.1),openfeint和libgdx。 这里是build立日志: UNEXPECTED TOP-LEVEL EXCEPTION: java.lang.IllegalArgumentException: already added: Lcom/google/api/client/escape/CharEscapers; [2011-12-08 21:56:42 – JellyBallsFree] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123) [2011-12-08 21:56:42 – JellyBallsFree] Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:163) [2011-12-08 21:56:42 – JellyBallsFree] Dx at com.android.dx.command.dexer.Main.processClass(Main.java:486) [2011-12-08 21:56:42 – JellyBallsFree] Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455) [2011-12-08 21:56:42 – JellyBallsFree] Dx at com.android.dx.command.dexer.Main.access$400(Main.java:67) [2011-12-08 21:56:42 – JellyBallsFree] Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394) [2011-12-08 […]