用于Android模拟器的外观在/ platforms/android-xxx/skins中的目录中定义.其他特定于供应商的外观也位于文件夹/附加组件中.这里存储了部分皮肤,如用于背景和按钮的图像,以及将这些部分组织到皮肤中的文件,称为布局.
布局文件包含键值对的分类列表,定义部件和布局.这是一个片段如图:
display {
width 480
height 800
x 32
y 106
}
background {
image htc-evo-4g.png
x 0
y 0
}
button {
soft-left {
image key.png
x 191
y 921
}
home {
image key.png
x 73
y 921
}
...
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:
是否有完整的布局文件语言规范?
是否有任何工具来创建皮肤,即图像和布局文件?
我正在尝试创建一个使用Google的OAuth库的Android应用,就像这个示例一样.
但是,当我调用getAuthTokenByFeatures时,我得到一个异常,在LogCat上打印出来:
05-24 10:56:58.224: W/System.err(557): android.accounts.AuthenticatorException: bind failure
05-24 10:56:58.236: W/System.err(557): at android.accounts.AccountManager.convertErrorToException(AccountManager.java:1563)
05-24 10:56:58.236: W/System.err(557): at android.accounts.AccountManager.access$400(AccountManager.java:140)
05-24 10:56:58.236: W/System.err(557): at android.accounts.AccountManager$AmsTask$Response.onError(AccountManager.java:1409)
05-24 10:56:58.236: W/System.err(557): at android.accounts.IAccountManagerResponse$Stub.onTransact(IAccountManagerResponse.java:69)
05-24 10:56:58.236: W/System.err(557): at android.os.Binder.execTransact(Binder.java:338)
05-24 10:56:58.236: W/System.err(557): at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)
但是,实际的Android设备不会发生这种情况.我正在仿效Android 4.0.3并且无法在我的生活中找到答案.有任何想法吗?
在Eclipse的AVD中,我创建了两个除密度值之外相同的设备.装置1具有abstracted LCD density240; 设备2具有160.两者的分辨率为480x800.
有人可以向我解释为什么设备1屏幕上的元素看起来"更大"吗?由于它们具有相同的分辨率,它们不应该显示相同数量的像素吗?如果有的话,因为设备1具有更高的密度,不应该显示更多的细节/屏幕空间?
设备1
设备2
Screeshots - (点击查看大图)
如上所示,我在两个设备上的随机屏幕位置绘制一个半径为15dp的圆.设备2上的圆圈肯定更小,操作栏也是如此.为什么是这样?
是否可以创建AVD来模拟Nexus 4?
我正在使用Eclipse,我很确定我已经更新了所有SDK工具等,以及4.2 SDK/system Image等.
然而,当我打开AVD管理器添加一个新的AVD,也似乎不再是输入自定义分辨率/密度等,有包含几个设备上droplist的能力,但没有Nexus 4,并没有通用版采用了分辨率为768x1200.
我只是缺少一些明显的东西吗?
在此先感谢您的帮助!
我正在开发一个Android应用程序并尝试在AVD上启动它.API设置为Android 2.3.3.我有一个2.3.3模拟器(sdk版本10),并且android清单显示:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="10" />
Run Code Online (Sandbox Code Playgroud)
我将目标更改为10以匹配我在项目中包含的api.我该如何解决此错误:
[2013-01-30 23:18:47 - kiloboltandroidframework] Failed to find an AVD compatible with target 'Google APIs'.
[2013-01-30 23:18:48 - kiloboltandroidframework] Still no compatible AVDs with target 'Google APIs': Aborting launch.
Run Code Online (Sandbox Code Playgroud) 我正在尝试测试我的应用程序,它使用地理定位使用模拟器.这里描述了几种方法.我要去Window->Open Perspective->DDMS,然后进入拉特.而且很长.一个Location Controls然后我点击"发送".

但它不起作用.相反,我看到以下错误:Unable to send command to the emulator.
为什么会这样?!?
我认为我的应用程序不是问题,因为我使用模拟器的默认浏览器进行了测试,但它也无法访问位置信息.
细节:
更新:
我改为AVD_for_Galaxy_Nexus_by_Google,它仍然无法正常工作,但我不再看到错误.我点击发送没有任何反应.
Update2: 我已经使用Telnet测试将位置数据传递给模拟器,并且没有任何反应.没有错误.根本不值一提.Urgh!
telnet localhost 5554
geo fix 50 50
Run Code Online (Sandbox Code Playgroud)
它回应OK但没有任何反应.仍然没有可用的位置数据.
Update3: 我注意到LogCat中存在以下错误的流
09-20 17:58:59.910: E/eglCodecCommon(1777): glUtilsParamSize: unknow param 0x00000b44
09-20 17:58:59.910: E/eglCodecCommon(1777): glUtilsParamSize: unknow param 0x00000bd0
09-20 17:58:59.930: E/eglCodecCommon(1777): **** ERROR unknown type 0x0 (glSizeof,72)
Run Code Online (Sandbox Code Playgroud)
该应用程序似乎运行正常,这些错误据说在这里解释.
更新4:
我已经看到多个建议来确认我的AVD已启用GPS支持,但此选项/设置不会出现在任何地方.当我打开"Android Virtual Device Manager"然后在我的某个设备上点击"编辑"时,这就是我所看到的:

没有提到"GPS支持".
更新5: 我检查了config.ini文件中的所有AVD,它们都被正确设置为 …
eclipse android geolocation android-virtual-device android-emulator
当我使用Android Studio,然后选择设备 - 我从sdk中选择的android虚拟设备时,它总会显示如下:
D:\android-studio\sdk\tools\emulator.exe -avd Nexus_S_API_21 -netspeed full -netdelay none
-netspeed full -netdelay none- 这部分将始终显示,为什么?我的代码没有问题.
这是我第一次使用android studio,我花了很多时间来解决很多问题
我正在使用Android Studio作为我的IDE进行开发.我创建了一个虚拟设备,它是Nexus 5的预设.以下是AVD的详细信息,
因此,当我第一次构建我的应用程序并使用模拟器运行它时,它在锁定屏幕上被冻结.到那时我还没看任何日志.然后我再次运行它然后它是成功的.但是我让它休息了一段时间(大约10分钟),当我再次检查时,AVD被冷冻了.然后我看到logcat记录器在无限循环中写入以下错误,
02-02 17:48:32.768 1233-1259/system_process E/libsuspend:写入/ sys/power/state时出错:没有这样的设备
它只是继续写作.ADB日志有以下几点,
PropertyFetcher:AdbCommandRejectedException获取设备模拟器-5554:设备脱机的属性
为什么会这样?这是某种配置问题吗?
Android studio不显示我的设备来调试应用程序.一切都安装和正常工作,除了Android工作室.安装了Adb驱动程序,我尝试了apkinstaller软件,它显示了我的设备.
我的设备api级别是15,安装在Android工作室的api是21.任何人有想法可能是由于api级别的变化android工作室没有显示我的设备或其他东西.我已经尝试过在stackover上发布的这些帖子
我错过了什么吗?
当我尝试打开虚拟设备时,会看到相同的错误。我能做什么?
该错误:
Emulator: warning: host doesn't support requested feature: CPUID.80000001H:ECX.abm [bit 5]
Run Code Online (Sandbox Code Playgroud)
我无法解决我的问题:/我昨天问过,但有人回答了:/
注意:已启用虚拟化技术,并且KVM正常。