Android Studio配置问题,以及百度API问题汇总

我开发Android所用的IDE是Android Studio,而虚拟机是Genymotion,所以在与百度地图API连接的时候遇到了一些问题,大部分问题通过网上查资料得到了解决,所以我想总结一下,免得之后自己再遇到相似的问题(声明一下,这些方法也都是其他大神的方法,我只是总结,搬运而已)


问题1.Genymotion 模拟器安装好虚拟机后,启动时报错:VirtualBox – Error In supR3HardenedWinReSpawn

搜索了下这个问题的解决方案:

因为vboxdrv驱动没有安装或没有成功启动,64位的系统经常这样,找到安装目录下的vboxdrv文件夹,
如D:\Program Files\Oracle\VirtualBox\drivers\vboxdrv,右击VBoxDrv.inf,选安装,然后重启电脑。

正常情况下,vboxdrv应该是RUNNING状态

image


问题2.百度地图SDK的模版是Eclipse工具下开发的,而我用的是Android Studio,所以在导入百度地图的jar包后,按照模版进行地图展示后(Hello BaiduMap实例http://lbsyun.baidu.com/index.php?title=androidsdk/guide/hellobaidumap),运行程序会出现以下错误:

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);
       ...}
报错  用的是studio ,.so文件也配置好了 一直报错  
具体报错如下 :
  Process: com.example.ai.tabhostdemo, PID: 1287
    java.lang.UnsatisfiedLinkError: No implementation found for int com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create() (tried Java_com_baidu_platform_comjni_map_commonmemcache_JNICommonMemCache_Create and Java_com_baidu_platform_comjni_map_commonmemcache_JNICommonMemCache_Create__)
            at com.baidu.platform.comjni.map.commonmemcache.JNICommonMemCache.Create(Native Method)
            at com.baidu.platform.comjni.map.commonmemcache.a.a(Unknown Source)
            at com.baidu.platform.comapi.c.c.b(Unknown Source)
            at com.baidu.mapapi.a.c(Unknown Source)
            at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
            at com.baidu.mapapi.SDKInitializer.initialize(Unknown Source)
            at com.example.ai.tabhostdemo.Act1.onCreate(Act1.java:46)
            at android.app.Activity.performCreate(Activity.java:5933)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
            at android.app.ActivityThread.startActivityNow(ActivityThread.java:2122)
            at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:135)
            at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:347)
            at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:756)
            at android.widget.TabHost.setCurrentTab(TabHost.java:420)
            at android.widget.TabHost.addTab(TabHost.java:247)
            at com.example.ai.tabhostdemo.MainActivity.setupIntent(MainActivity.java:97)
            at com.example.ai.tabhostdemo.MainActivity.onCreate(MainActivity.java:43)
            at android.app.Activity.performCreate(Activity.java:5933)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2251)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
            at android.app.ActivityThread.access$800(ActivityThread.java:144)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5221)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)


搜索了下这个问题的解决方案:

http://lbsyun.baidu.com/index.php?title=androidsdk/guide/buildproject 一定要注意你所用的开发工具。



问题3.INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法


在Android模拟器上安装apk的时候出现




这个错误提示的解决办法。

是由于使用了native libraries 。该native libraries 不支持当前的cpu的体系结构。

INSTALL_FAILED_NO_MATCHING_ABIS is when you are trying to install an app that has native libraries and it doesn't have a native library for your cpu architecture. For example if you compiled an app for armv7 and are trying to install it on an emulator that uses the Intel architecture instead it will not work.

现在安卓模拟器的CPU/ABI一般有三种类型,INTEL X86,ARM,MIPS,

 

如果选择用INTEL X86出现INSTALL_FAILED_NO_MATCHING_ABIS的错误,那就改用ARM的

参考

http://blog.csdn.net/wjr2012/article/details/16359113


问题4.如何让genymotion虚拟机联网


前提是必须打开虚拟机的WIFI,然后打开Oracle VM VirtualBox,先关闭你运行的虚拟机,打开设置,选择网络,在网络中,将网卡1的“连接方式”,改成“仅主机(Host-Only)适配器”,然后选择网卡2,将“连接方式”改写成“网络地址转换(NAT)”,并且打开“高级”,将控制芯片,改写成“准虚拟化网络(virtio-net)”,打开虚拟机,应该就好了。

问题4. 在使用百度地图时候,出现地图不显示,或者只显示一部分地图,拖动地图后,地图不显示,都是白色格子,或者打印如下错误信息

Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败

错误原因: 创建应用时候 安全码 填入有错(签名或者包名字错了),或者说,和项目不对应


我搜索到一个插件可以使用,能够看到自己开发的应用的,基本上都是在API控制台申请AK的时候填写的包名或者SHA1不正确导致的(包名或者SHA1的获取详见官方教程)。可以看一下这个帖子,并且里面的插件,用起来很方便。

参考:http://bbs.lbsyun.baidu.com/forum.php?mod=viewthread&tid=106461


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值