【问题标题】:Google maps v1 crashing in android 10谷歌地图 v1 在 android 10 中崩溃
【发布时间】:2019-11-15 13:20:06
【问题描述】:

我正在尝试在我的 android 应用中使用 google map v1,但在我在 android 10 中打开地图活动时应用会立即崩溃。

*FATAL EXCEPTION: DataRequestDispatcher
Process: c.techahead.androidmapsv1, PID: 6646
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/apache/http/client/HttpClient;
    at com.google.android.maps.MapActivity.<init>(MapActivity.java:356)
    at c.techahead.androidmapsv1.MainActivity.<init>(MainActivity.java:8)
    at java.lang.Class.newInstance(Native Method)
    at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
    at android.support.v4.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:43)
    at android.app.Instrumentation.newActivity(Instrumentation.java:1250)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3182)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3409)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
   *

build.gradle

android {
    compileSdkVersion 28
    buildToolsVersion "25.0.2"
    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 26
        multiDexEnabled true
        useLibrary 'org.apache.http.legacy'
    } 
    dependencies {
    provided files('libs/maps.jar')
     compile files('libs/org.apache.http.legacy.jar')
    compile files('libs/httpclient-4.0.3.jar')
}

【问题讨论】:

标签: android google-maps


【解决方案1】:

从 Android 9 开始,对 Apache HTTP 客户端的支持是 removed。您需要做的是添加以下声明:

<uses-library
    android:name="org.apache.http.legacy"
    android:required="false" />

AndroidManifest.xml&lt;application&gt; 元素内。

请注意,如果您使用(或更新到)com.google.android.gms:play-services-maps:16.1.0 或更高版本,则根本不需要添加它。有关详细信息,请查看 Google 的 documentation

希望这会有所帮助!

【讨论】:

  • 这对于 Google Maps V1 来说似乎是不够的。 com.google.android.gms:play-services-maps:16.1.0 是具有不同 API 的 Maps V2
  • 对不起,你是对的,这是 V1,不是 V2。您能否分享一个指向您的 Maps SDK for Android V1 代码的链接,以便我可以从我这边复制它?请注意,V1 在 2013 年被弃用,所以它仍然可以正常工作几乎是一个奇迹(在 Android 9 中)!
猜你喜欢
  • 2020-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-28
  • 2015-06-10
  • 1970-01-01
相关资源
最近更新 更多