Google Play appstore会自动将您的应用程序过滤到具有兼容CPU架构的设备.例如,如果您有一个仅为ARMv5编译的库,则您的应用程序将仅显示具有ARMv5或ARMv7处理器的设备.
如果我有Java替代方案,并希望我的应用程序也可以由非ARM设备下载,该怎么办?例如,我在尝试加载外部库时捕获异常,并在Dex字节码(Java)中实现可行的替代方法.
当我上传.apk时,Android开发者控制台会说:"此apk请求1个将用于Google Play过滤的原生平台."armeabi"
我是否需要为x86和MIPS编译虚拟库?然后在我的Java代码中,检查处理器体系结构以了解我是否可以实际使用该库?应该有一个更好的解决方案.
据我所知,Manifest中没有关于CPU架构的任何内容,我在Developer Console中找不到关闭此过滤器的方法.
希望有些人比我更了解Google Play过滤和NDK知道答案.
我为Visual Studio 2012下载并安装了Microsoft的预发行版C++编译器.我的项目所有配置的平台工具集设置为:"Microsoft Visual C++编译器2012年11月CTP(v120_CTP_Nov2012)".
这允许我的项目使用Microsoft在其预发行版中实现的新C++ 11功能.使用新功能的代码编译和运行完全正常,但我仍然得到红色下划线波浪,好像我的代码有错误.
到目前为止,我最好的选择是完全禁用"C/C++ Squiggles".有什么方法可以让Visual Studio 2012意识到我正在使用v120进行编译,并相应地进行波形化?
以下代码按预期运行:
int values[] {4, 3, 2, 1, 0};
for(int i : values)
{
std::cout << i << ' ';
}
Run Code Online (Sandbox Code Playgroud)
它产生输出:
4 3 2 1 0
但是,Visual Studio 2012 使用工具提示强调了波浪形红色的第一个值:
int values []
错误:不允许不完整的类型