首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于R$styleable的商业崩溃应用谷歌地图

基于R$styleable的商业崩溃应用谷歌地图
EN

Stack Overflow用户
提问于 2015-03-02 21:54:08
回答 2查看 561关注 0票数 2

将我的一个应用程序转换成使用新的,现在每当我们的活动试图在我们的setContentView()方法中调用onCreate()时,我都会陷入崩溃。

build.gradle:

代码语言:javascript
复制
dependencies {
    // external dependencies: will need network connection if not already cached
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'com.android.support:support-v4:21.0.3'

    // local dependencies: jar libraries checked into source control
    compile files('libs/resty-0.3.4.jar')
    compile files('libs/robospice-1.4.9.jar')
    compile files('libs/robospice-cache-1.4.9.jar')
    compile files ('libs/maps_m4b-2.12.0.rc1.jar')
}

activity_location.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <fragment
        android:id="@+id/map"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        class="com.google.android.m4b.maps.MapFragment" />

坠机:

代码语言:javascript
复制
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/m4b/maps/R$styleable;
            at com.google.android.m4b.maps.GoogleMapOptions.createFromAttributes(GoogleMapOptions.java:428)
            at com.google.android.m4b.maps.MapFragment.onInflate(MapFragment.java:408)
            at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2115)
            at android.app.Activity.onCreateView(Activity.java:5282)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
            at android.app.Activity.setContentView(Activity.java:2144)
            at com.nate.android.hammerhead.LocationActivity.onCreate(LocationActivity.java:106)
            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)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.m4b.maps.R$styleable" on path: DexPathList[[zip file "/data/app/com.nate.android.hammerhead-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
            at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
            at com.google.android.m4b.maps.GoogleMapOptions.createFromAttributes(GoogleMapOptions.java:428)
            at com.google.android.m4b.maps.MapFragment.onInflate(MapFragment.java:408)
            at android.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2115)
            at android.app.Activity.onCreateView(Activity.java:5282)
            at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:733)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
            at android.view.LayoutInflater.parseInclude(LayoutInflater.java:916)
            at android.view.LayoutInflater.rInflate(LayoutInflater.java:802)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:504)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:414)
            at android.view.LayoutInflater.inflate(LayoutInflater.java:365)
            at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:377)
            at android.app.Activity.setContentView(Activity.java:2144)
            at com.nate.android.hammerhead.LocationActivity.onCreate(LocationActivity.java:106)
            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)
    Suppressed: java.lang.ClassNotFoundException: com.google.android.m4b.maps.R$styleable
            at java.lang.Class.classForName(Native Method)
            at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
            at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
            ... 28 more
     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

我遵循了Google (https://developers.google.com/maps/documentation/business/mobile/android/)提供的指南,对于新的静态jar库应该是一个简单的交换,现在已经变成了一个配置噩梦,试图追踪到这一点几乎没有用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-10 17:01:30

在与谷歌代表合作后,这似乎是当前2.12.0.rc1版本的*.jar包中的一个问题。

票数 0
EN

Stack Overflow用户

发布于 2015-03-03 00:35:33

您是如何导入jar文件的?

首先,您需要解压缩下载的zip文件,并将Jar文件从google-maps-sdk-m4b_lib -> libs文件夹复制到Android的libs文件夹。

有关已完成的Jar文件路径,请参见下面的图像:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28820171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档