草庐IT

java - 尝试在 Android Studio 中运行默认 map Activity 时出现模拟器错误

coder 2023-12-13 原文

//我目前正在尝试运行 android//studio 中提供的默认 map Activity 。我在 xml 文件中添加了我的 API key 并使用默认的 AVD//设备运行并收到以下错误(说我的应用程序在模拟器中停止工作)

//日志:

    01-03 19:13:51.647 2399-2399/com.example.user.maptest I/art: Not late-enabling -Xcheck:jni (already on)
    01-03 19:13:51.671 2399-2399/com.example.user.maptest W/System: ClassLoader referenced unknown path: /data/app/com.example.user.maptest-2/lib/x86
    01-03 19:13:51.675 2399-2399/com.example.user.maptest I/GMPM: App measurement is starting up, version: 8487
    01-03 19:13:51.675 2399-2399/com.example.user.maptest I/GMPM: To enable debug logging run: adb shell setprop log.tag.GMPM VERBOSE
    01-03 19:13:51.758 2399-2399/com.example.user.maptest I/zzad: Making Creator dynamically
    01-03 19:13:51.762 2399-2399/com.example.user.maptest W/System: ClassLoader referenced unknown path: /system/priv-app/PrebuiltGmsCore/lib/x86
    01-03 19:13:51.830 2399-2399/com.example.user.maptest D/ChimeraCfgMgr: Reading stored module config
    01-03 19:13:51.832 2399-2399/com.example.user.maptest D/ChimeraCfgMgr: Loading module com.google.android.gms.maps from APK /data/user/0/com.google.android.gms/app_chimera/chimera-module-root/module-a3e4fba11e705727c59ff3116ef21fa4834b9f56/MapsModule.apk
    01-03 19:13:51.832 2399-2399/com.example.user.maptest D/ChimeraModuleLdr: Loading module APK /data/user/0/com.google.android.gms/app_chimera/chimera-module-root/module-a3e4fba11e705727c59ff3116ef21fa4834b9f56/MapsModule.apk
    01-03 19:13:51.864 2399-2399/com.example.user.maptest D/ChimeraFileApk: Primary ABI of requesting process is x86
    01-03 19:13:51.864 2399-2399/com.example.user.maptest D/ChimeraFileApk: Classloading successful. Optimized code found.
    01-03 19:13:51.865 2399-2399/com.example.user.maptest W/System: ClassLoader referenced unknown path: /data/user/0/com.google.android.gms/app_chimera/chimera-module-root/module-a3e4fba11e705727c59ff3116ef21fa4834b9f56/native-libs/x86
    01-03 19:13:51.953 2399-2399/com.example.user.maptest I/Google Maps Android API: Google Play services client version: 8487000
    01-03 19:13:51.970 2399-2399/com.example.user.maptest I/Google Maps Android API: Google Play services package version: 8489470
    01-03 19:13:52.122 2399-2399/com.example.user.maptest W/ContextImpl: Failed to ensure /sdcard/Android/data/com.example.user.maptest/cache: java.lang.SecurityException: Invalid mkdirs path: /storage/self/primary/Android/data/com.example.user.maptest/cache
    01-03 19:13:52.124 2399-2399/com.example.user.maptest D/AndroidRuntime: Shutting down VM
    01-03 19:13:52.124 2399-2399/com.example.user.maptest E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                Process: com.example.user.maptest, PID: 2399
                                                                                java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.user.maptest/com.example.user.maptest.MapsActivity}: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class fragment
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
                                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java)
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                    at android.os.Looper.loop(Looper.java:148)
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                                                    at java.lang.reflect.Method.invoke(Native Method)
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
                                                                                 Caused by: android.view.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class fragment
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:539)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:374)
                                                                                    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393)
                                                                                    at android.app.Activity.setContentView(Activity.java:2166)
                                                                                    at com.example.user.maptest.MapsActivity.onCreate(MapsActivity.java:20)
                                                                                    at android.app.Activity.performCreate(Activity.java:6237)
                                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                    at android.os.Looper.loop(Looper.java:148) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                                                 Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class fragment
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:782)
                                                                                    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:423) 
                                                                                    at android.view.LayoutInflater.inflate(LayoutInflater.java:374) 
                                                                                    at com.android.internal.policy.PhoneWindow.setContentView(PhoneWindow.java:393) 
                                                                                    at android.app.Activity.setContentView(Activity.java:2166) 
                                                                                    at com.example.user.maptest.MapsActivity.onCreate(MapsActivity.java:20) 
                                                                                    at android.app.Activity.performCreate(Activity.java:6237) 
                                                                                    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107) 
                                                                                    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369) 
                                                                                    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
                                                                                    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                                                                                    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
                                                                                    at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                    at android.os.Looper.loop(Looper.java:148) 
                                                                                    at android.app.ActivityThread.main(ActivityThread.java:5417) 
                                                                                    at java.lang.reflect.Method.invoke(Native Method) 
                                                                                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                                                                                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                                                                                 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.io.File.mkdir()' on a null object reference
                                                                                    at com.google.maps.api.android.lib6.gmm6.m.ad.a(Unknown Source)
                                                                                    at com.google.maps.api.android.lib6.gmm6.c.h.a(Unknown Source)
                                                                                    at com.google.maps.api.android.lib6.gmm6.c.ao.a(Unknown Source)
                                                                                    at com.google.maps.api.android.lib6.e.bd.a(Unknown Source)
                                                                                    at com.google.maps.api.android.lib6.e.ev.a(Unknown Source)
                                                                                    at com.google.maps.api.android.lib6.e.z.a(Unknown Source)
                                                                                    at com.google.maps.api.android.lib6.e.y.a(Unknown Source)
                                                                                    at com.google.android.gms.maps.internal.u.onTransact(SourceFile:107)
                                                                                    at android.os.Binder.transact(Binder.java:387)
                                                                                    at com.google.android.gms.maps.internal.IMapFragmentDelegate$zza$zza.onCreateView(Unknown Source)
                                                                                    at com.google.android.gms.maps.SupportMapFragment$zza.onCreateView(Unknown Source)
                                                                                    at com.google.android.gms.dynamic.zza$4.zzb(Unknown Source)
                                                                                    at com.google.android.gms.dynamic.zza.zza(Unknown Source)
                                                                                    at com.google.android.gms.dynamic.zza.onCreateView(Unknown Source)
                                                                                    at com.google.android.gms.maps.SupportMapFragment.onCreateView(Unknown Source)
                                                                                    at android.support.v4.app.Fragment.performCreateView(Fragment.java:1962)
                                                                                    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1036)
                                                                                    at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1226)
                                                                                    at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1328)
                                                                                    at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:2284)
                                                                                    at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:111)
                                                                                    at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:314)
                                                                                    at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:31)
                                                                                    at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:79)
                                                                                    at android.view.LayoutInflater.createViewFromTag(Layout

//安卓 list :

    <!--
         The ACCESS_COARSE/FINE_LOCATION permissions are not required to use
         Google Maps Android API v2, but you must specify either coarse or fine
         location permissions for the 'MyLocation' functionality. 
    -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <!--
             The API key for Google Maps-based APIs is defined as a string resource.
             (See the file "res/values/google_maps_api.xml").
             Note that the API key is linked to the encryption key used to sign the APK.
             You need a different API key for each encryption key, including the release key that is used to
             sign the APK for publishing.
             You can define the keys for the debug and release targets in src/debug/ and src/release/. 
        -->
        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name=".MapsActivity"
            android:label="@string/title_activity_maps">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

// Gradle : 应用插件:'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.user.maptest"
        minSdkVersion 19
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.google.android.gms:play-services:8.4.0'
}

apply plugin: 'com.google.gms.google-services'

最佳答案

你的问题的底线是你的logcat中的这一行

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.io.File.mkdir()' on a null object reference
                                                                                at com.google.maps.api.android.lib6.gmm6.m.ad.a(Unknown Source)

您需要一张 SD 卡才能在 play-services:8.4.0 中运行您的代码。请看this有关您当前问题的更多信息。

编辑:这个问题已经解决了。将 Google Play 服务升级到 9.0.83 将解决此问题。

关于java - 尝试在 Android Studio 中运行默认 map Activity 时出现模拟器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34583353/

有关java - 尝试在 Android Studio 中运行默认 map Activity 时出现模拟器错误的更多相关文章

  1. ruby - ECONNRESET (Whois::ConnectionError) - 尝试在 Ruby 中查询 Whois 时出错 - 2

    我正在用Ruby编写一个简单的程序来检查域列表是否被占用。基本上它循环遍历列表,并使用以下函数进行检查。require'rubygems'require'whois'defcheck_domain(domain)c=Whois::Client.newc.query("google.com").available?end程序不断出错(即使我在google.com中进行硬编码),并打印以下消息。鉴于该程序非常简单,我已经没有什么想法了-有什么建议吗?/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.

  2. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  3. ruby - 默认情况下使选项为 false - 2

    这是在Ruby中设置默认值的常用方法:classQuietByDefaultdefinitialize(opts={})@verbose=opts[:verbose]endend这是一个容易落入的陷阱:classVerboseNoMatterWhatdefinitialize(opts={})@verbose=opts[:verbose]||trueendend正确的做法是:classVerboseByDefaultdefinitialize(opts={})@verbose=opts.include?(:verbose)?opts[:verbose]:trueendend编写Verb

  4. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  5. java - 等价于 Java 中的 Ruby Hash - 2

    我真的很习惯使用Ruby编写以下代码:my_hash={}my_hash['test']=1Java中对应的数据结构是什么? 最佳答案 HashMapmap=newHashMap();map.put("test",1);我假设? 关于java-等价于Java中的RubyHash,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/22737685/

  6. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  7. ruby-on-rails - 在默认方法参数中使用 .reverse_merge 或 .merge - 2

    两者都可以defsetup(options={})options.reverse_merge:size=>25,:velocity=>10end和defsetup(options={}){:size=>25,:velocity=>10}.merge(options)end在方法的参数中分配默认值。问题是:哪个更好?您更愿意使用哪一个?在性能、代码可读性或其他方面有什么不同吗?编辑:我无意中添加了bang(!)...并不是要询问nobang方法与bang方法之间的区别 最佳答案 我倾向于使用reverse_merge方法:option

  8. 使用 ACL 调用 upload_file 时出现 Ruby S3 "Access Denied"错误 - 2

    我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file

  9. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  10. java - 从 JRuby 调用 Java 类的问题 - 2

    我正在尝试使用boilerpipe来自JRuby。我看过guide从JRuby调用Java,并成功地将它与另一个Java包一起使用,但无法弄清楚为什么同样的东西不能用于boilerpipe。我正在尝试基本上从JRuby中执行与此Java等效的操作:URLurl=newURL("http://www.example.com/some-location/index.html");Stringtext=ArticleExtractor.INSTANCE.getText(url);在JRuby中试过这个:require'java'url=java.net.URL.new("http://www

随机推荐