Intereting Posts
Android: Как переключаться между такими действиями, как переключение настольных компьютеров в Home app? Перезагрузите автономное устройство Android удаленно Woocommerce rest api Аутентификация OAuth в android Конфигурация JavaCV в Android Studio Исключение при входе в систему с помощью Simple Facebook API (сеанс: была предпринята попытка открыть сеанс с ожидающим запрос) Передача пучка в действие, заданное как синглетная маска Внедрение WS-Discovery для Android Как установить размер текста текстового вида динамически для разных экранов Это утечка контекста Android? Есть ли способ использовать функциональные интерфейсы Java 8 для Android API ниже 24? Как реплицировать кнопку «Входящие» с плавающей кнопкой (с текстом для каждой кнопки)? Проблемы с бинарным файлом для Android Проводник Samsung My Files: выберите файл из указанной папки Значок анимации ActionBarDrawerToggle программно Как сделать график вращения в реальном времени с помощью MPAndroidChart

Сбой приложений при выполнении с использованием карт Google api v2

Я пытаюсь в основном загрузить карту с помощью карт Google api v2, поэтому я могу начать работу над более сложным приложением. Моя проблема в том, что я выполнил все инструкции в: https://developers.google.com/maps/documentation/android/, чтобы настроить новые параметры для google map api v2, в котором используется Google play lib. Все настроено отлично, но когда я запускаю приложение, он сбой (myapp остановился на работе) Я использую intellij, поэтому приложения были подписаны через «build | Generate signed apk», и чтобы получить мой код SHA1, я использовал файл, который генерируется, когда Выбрано подписанное apk. Я создал новый проект в консоли Google с именем MapTest, чтобы получить ключ api и поместил его в манифест, как указано. Теперь я знаю, что эмуляторам обычно хватает некоторых сотрудников, таких как openGL ES, поэтому я установил приложение на свой телефон (Galaxy s2), и приложение все еще терпит крах. Ps был добавлен google play lib. Эмулятор – это google api 15, и все обновлено до последних версий. Любая помощь или вклад глубоко оценены.

Bellow я включаю в себя мои файлы xml, чтобы вы могли увидеть, что что-то не так.

Основной xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.MapFragment"/> </LinearLayout> 

AndroidManifest xml

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.MapTest" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:targetSdkVersion="15" android:minSdkVersion="8"/> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <uses-library android:name="com.google.android.maps"/> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key goes here"/> </application> <permission android:name="com.example.MapTest.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.example.MapTest.permission.MAPS_RECEIVE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> </manifest> ? <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.MapTest" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:targetSdkVersion="15" android:minSdkVersion="8"/> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher"> <uses-library android:name="com.google.android.maps"/> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my api key goes here"/> </application> <permission android:name="com.example.MapTest.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="com.example.MapTest.permission.MAPS_RECEIVE"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> </manifest> 

В классе MyActivity ничего не изменилось

 package com.example.MapTest; import android.app.Activity; import android.os.Bundle; import com.google.android.gms.maps.MapFragment; public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } 

Журнал эмулятора

 01-09 22:16:54.269: DEBUG/AndroidRuntime(1779): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<< 01-09 22:16:54.269: DEBUG/AndroidRuntime(1779): CheckJNI is ON 01-09 22:16:55.766: DEBUG/AndroidRuntime(1779): Calling main entry com.android.commands.pm.Pm 01-09 22:16:56.059: DEBUG/dalvikvm(1031): GC_EXPLICIT freed 416K, 15% free 11721K/13703K, paused 9ms+19ms 01-09 22:16:56.099: WARN/ActivityManager(1031): No content provider found for permission revoke: file:///data/local/tmp/com.example.MapTest 01-09 22:16:56.139: WARN/ActivityManager(1031): No content provider found for permission revoke: file:///data/local/tmp/com.example.MapTest 01-09 22:16:56.379: INFO/PackageManager(1031): Removing non-system package:com.example.MapTest 01-09 22:16:56.379: INFO/ActivityManager(1031): Force stopping package com.example.MapTest uid=10044 01-09 22:16:56.529: INFO/PackageManager(1031): Package com.example.MapTest codePath changed from /data/app/com.example.MapTest-2.apk to /data/app/com.example.MapTest-1.apk; Retaining data and using new 01-09 22:16:56.529: INFO/PackageManager(1031): Running dexopt on: com.example.MapTest 01-09 22:16:57.781: DEBUG/dalvikvm(1790): DexOpt: load 230ms, verify+opt 493ms 01-09 22:16:57.809: WARN/PackageManager(1031): Code path for pkg : com.example.MapTest changing from /data/app/com.example.MapTest-2.apk to /data/app/com.example.MapTest-1.apk 01-09 22:16:57.809: WARN/PackageManager(1031): Resource path for pkg : com.example.MapTest changing from /data/app/com.example.MapTest-2.apk to /data/app/com.example.MapTest-1.apk 01-09 22:16:57.829: INFO/ActivityManager(1031): Force stopping package com.example.MapTest uid=10044 01-09 22:16:57.939: DEBUG/PackageManager(1031): New package installed in /data/app/com.example.MapTest-1.apk 01-09 22:16:57.949: WARN/PackageManager(1031): Unknown permission android.permission.ADD_SYSTEM_SERVICE in package com.android.phone 01-09 22:16:57.949: WARN/PackageManager(1031): Unknown permission com.android.smspush.WAPPUSH_MANAGER_BIND in package com.android.phone 01-09 22:16:57.959: WARN/PackageManager(1031): Unknown permission com.android.vending.billing.BILLING_ACCOUNT_SERVICE in package com.google.android.gsf.login 01-09 22:16:57.959: WARN/PackageManager(1031): Unknown permission com.android.vending.billing.ADD_CREDIT_CARD in package com.google.android.gsf.login 01-09 22:16:57.959: WARN/PackageManager(1031): Unknown permission com.android.vending.billing.IBillingAccountService.BIND2 in package com.google.android.gsf.login 01-09 22:16:57.959: WARN/PackageManager(1031): Not granting permission android.permission.SEND_DOWNLOAD_COMPLETED_INTENTS to package com.android.browser (protectionLevel=2 flags=0x9be45) 01-09 22:16:57.959: WARN/PackageManager(1031): Not granting permission android.permission.BIND_APPWIDGET to package com.android.widgetpreview (protectionLevel=3 flags=0x28be44) 01-09 22:16:57.989: WARN/PackageManager(1031): Unknown permission com.android.providers.im.permission.READ_ONLY in package com.google.android.apps.maps 01-09 22:16:57.989: WARN/PackageManager(1031): Not granting permission android.permission.DEVICE_POWER to package com.android.deskclock (protectionLevel=2 flags=0x8be45) 01-09 22:16:58.299: DEBUG/dalvikvm(1031): GC_CONCURRENT freed 544K, 15% free 11758K/13703K, paused 9ms+12ms 01-09 22:16:58.489: INFO/ActivityManager(1031): Force stopping package com.example.MapTest uid=10044 01-09 22:16:58.639: DEBUG/dalvikvm(1126): GC_EXPLICIT freed 250K, 7% free 11414K/12231K, paused 5ms+7ms 01-09 22:16:58.869: DEBUG/dalvikvm(1166): GC_EXPLICIT freed 172K, 4% free 9398K/9735K, paused 10ms+9ms 01-09 22:16:59.159: DEBUG/dalvikvm(1031): GC_EXPLICIT freed 191K, 15% free 11704K/13703K, paused 7ms+14ms 01-09 22:16:59.259: DEBUG/PackageManager(1031): generateServicesMap(android.accounts.AccountAuthenticator): 3 services unchanged 01-09 22:16:59.409: DEBUG/PackageManager(1031): generateServicesMap(android.content.SyncAdapter): 5 services unchanged 01-09 22:16:59.431: DEBUG/BackupManagerService(1031): Received broadcast Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:com.example.MapTest flg=0x10000010 (has extras) } 01-09 22:16:59.459: DEBUG/PackageManager(1031): generateServicesMap(android.accounts.AccountAuthenticator): 3 services unchanged 01-09 22:16:59.479: DEBUG/PackageManager(1031): generateServicesMap(android.content.SyncAdapter): 5 services unchanged 01-09 22:16:59.599: DEBUG/BackupManagerService(1031): Received broadcast Intent { act=android.intent.action.PACKAGE_ADDED dat=package:com.example.MapTest flg=0x10000010 (has extras) } 01-09 22:16:59.629: VERBOSE/BackupManagerService(1031): updatePackageParticipantsLocked: #1 01-09 22:17:00.642: WARN/RecognitionManagerService(1031): no available voice recognition services found 01-09 22:17:00.889: DEBUG/BackupManagerService(1031): Received broadcast Intent { act=android.intent.action.PACKAGE_REPLACED dat=package:com.example.MapTest flg=0x10000010 (has extras) } 01-09 22:17:00.889: VERBOSE/BackupManagerService(1031): updatePackageParticipantsLocked: #1 01-09 22:17:01.519: DEBUG/dalvikvm(1031): GC_EXPLICIT freed 528K, 14% free 11847K/13703K, paused 7ms+17ms 01-09 22:17:02.069: DEBUG/AndroidRuntime(1779): Shutting down VM 01-09 22:17:02.089: INFO/AndroidRuntime(1779): NOTE: attach of thread 'Binder Thread #3' failed 01-09 22:17:02.089: DEBUG/dalvikvm(1779): GC_CONCURRENT freed 101K, 78% free 456K/2048K, paused 2ms+4ms 01-09 22:17:02.099: DEBUG/jdwp(1779): Got wake-up signal, bailing out of select 01-09 22:17:02.099: DEBUG/dalvikvm(1779): Debugger has detached; object registry had 1 entries 01-09 22:17:02.789: DEBUG/AndroidRuntime(1795): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<< 01-09 22:17:02.789: DEBUG/AndroidRuntime(1795): CheckJNI is ON 01-09 22:17:03.949: DEBUG/AndroidRuntime(1795): Calling main entry com.android.commands.am.Am 01-09 22:17:03.989: INFO/ActivityManager(1031): START {flg=0x10000000 cmp=com.example.MapTest/.MyActivity} from pid 1795 01-09 22:17:04.029: WARN/WindowManager(1031): Failure taking screenshot for (180x300) to layer 21005 01-09 22:17:04.111: DEBUG/AndroidRuntime(1795): Shutting down VM 01-09 22:17:04.139: DEBUG/dalvikvm(1806): Not late-enabling CheckJNI (already on) 01-09 22:17:04.139: INFO/AndroidRuntime(1795): NOTE: attach of thread 'Binder Thread #3' failed 01-09 22:17:04.159: DEBUG/dalvikvm(1795): GC_CONCURRENT freed 101K, 77% free 486K/2048K, paused 1ms+5ms 01-09 22:17:04.159: DEBUG/jdwp(1795): Got wake-up signal, bailing out of select 01-09 22:17:04.159: DEBUG/dalvikvm(1795): Debugger has detached; object registry had 1 entries 01-09 22:17:04.209: INFO/ActivityManager(1031): Start proc com.example.MapTest for activity com.example.MapTest/.MyActivity: pid=1806 uid=10044 gids={3003, 1015} 01-09 22:17:04.649: WARN/NetworkManagementSocketTagger(1031): setKernelCountSet(10044, 1) failed with errno -2 01-09 22:17:05.269: INFO/Process(1031): Sending signal. PID: 1806 SIG: 3 01-09 22:17:05.309: INFO/dalvikvm(1806): threadid=3: reacting to signal 3 01-09 22:17:05.429: INFO/dalvikvm(1806): Wrote stack traces to '/data/anr/traces.txt' 01-09 22:17:05.599: WARN/dalvikvm(1806): VFY: unable to resolve static field 40 (MapAttrs) in Lcom/google/android/gms/R$styleable; 01-09 22:17:05.599: DEBUG/dalvikvm(1806): VFY: replacing opcode 0x62 at 0x000e 01-09 22:17:05.609: DEBUG/AndroidRuntime(1806): Shutting down VM 01-09 22:17:05.609: WARN/dalvikvm(1806): threadid=1: thread exiting with uncaught exception (group=0x409c01f8) 01-09 22:17:05.629: ERROR/AndroidRuntime(1806): FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source) at com.google.android.gms.maps.MapFragment.onInflate(Unknown Source) at android.app.Activity.onCreateView(Activity.java:4242) at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673) at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) at android.view.LayoutInflater.inflate(LayoutInflater.java:489) at android.view.LayoutInflater.inflate(LayoutInflater.java:396) at android.view.LayoutInflater.inflate(LayoutInflater.java:352) at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:251) at android.app.Activity.setContentView(Activity.java:1835) at com.example.MapTest.MyActivity.onCreate(MyActivity.java:13) at android.app.Activity.performCreate(Activity.java:4465) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) at android.app.ActivityThread.access$600(ActivityThread.java:123) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4424) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) at dalvik.system.NativeStart.main(Native Method) 01-09 22:17:05.649: WARN/ActivityManager(1031): Force finishing activity com.example.MapTest/.MyActivity 01-09 22:17:05.659: WARN/WindowManager(1031): Failure taking screenshot for (180x300) to layer 21010 01-09 22:17:05.680: INFO/Process(1031): Sending signal. PID: 1806 SIG: 3 01-09 22:17:05.680: INFO/dalvikvm(1806): threadid=3: reacting to signal 3 01-09 22:17:05.699: INFO/dalvikvm(1806): Wrote stack traces to '/data/anr/traces.txt' 01-09 22:17:06.169: WARN/ActivityManager(1031): Activity pause timeout for ActivityRecord{4146dc60 com.example.MapTest/.MyActivity} 01-09 22:17:06.209: INFO/Process(1031): Sending signal. PID: 1806 SIG: 3 01-09 22:17:06.209: INFO/dalvikvm(1806): threadid=3: reacting to signal 3 01-09 22:17:06.229: INFO/dalvikvm(1806): Wrote stack traces to '/data/anr/traces.txt' 01-09 22:17:06.589: WARN/NetworkManagementSocketTagger(1031): setKernelCountSet(10044, 0) failed with errno -2 01-09 22:17:07.899: INFO/Process(1806): Sending signal. PID: 1806 SIG: 9 01-09 22:17:07.919: INFO/ActivityManager(1031): Process com.example.MapTest (pid 1806) has died. 01-09 22:17:08.109: WARN/InputManagerService(1031): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@414b9608 

На данный момент невозможно запустить Google Android Maps v2 на эмуляторе (см. Ответ от разработчиков Android здесь ). Вместо этого вы должны использовать реальное устройство.

Тем не менее, вы можете искать обновления в этом потоке – похоже, кому-то удалось создать эмулятор, который поддерживает Google Android Maps v2

EDIT: я вижу некоторые проблемы в вашем коде: вы должны расширить android.support.v4.app.FragmentActivity , но не обычный класс Activity .

Также убедитесь, что вы добавили проект GooglePlayServices (фактически импортированный весь проект), но не только файл jar. Если вы используете Eclipse, импортируйте проект библиотеки в рабочее пространство. Нажмите «Файл»> «Импорт», выберите «Android»> «Существующий код Android в рабочую область» и перейдите к копии проекта библиотеки, чтобы импортировать его.

Я, наконец, исправил проблему. У Google очень плохое руководство. Прежде всего спасибо Павлу Дудке за большую помощь. Я импортировал google play lib в качестве модуля, а затем google play lib в качестве jar, после чего я также добавил в другой файл jar файл android.suport.v4.jar, который можно найти, поскольку имя exmaple android \ suppor \ v4 После этих изменений и с рекомендациями Карта не работает, поэтому я добавил измененный фрагмент ниже, вместо того, чтобы использовать один обработанный Google, и карта работала как шарм.

 <fragment xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="wrap_content" android:layout_height="match_parent" />