2016-12-10 3 views
0

Ну, когда я запускаю свое приложение через андроид-студию, он работает нормально, если я устанавливаю его с игрового рынка, он не работает, но как только я запускаю андроид-студию, и он находит мой эмулятор работает нормально. Уверен, что проблема связана с моим манифестом.Приложение не работает без андроидной студии

P.S. Приложение использует GoogleMaps и MS Azure Simple App.

Вот мой AndroidManifest

<?xml version="1.0" encoding="utf-8"?> 

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> 
<!-- Needed only if your app targets Android 5.0 (API level 21) or higher. --> 
<uses-feature android:name="android.hardware.location.gps" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 

    <meta-data 
     android:name="com.google.android.geo.API_KEY" 
     android:value="My_APIKEY_is_actually_here:)" /> 

    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" 
     android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

+0

Каков симптом, когда он не работает? Можете ли вы разместить информацию о трассировке стека и logcat? Что заставляет вас подозревать манифест? – Jerry101

+0

@ Jerry101, основной макет не является симптомом. Когда приложение работает над отладкой и не работает в релизе, я всегда подозреваю манифест, так как нет смысла подозревать код. – Neriko

+0

Многие вещи отличаются между сборками отладки и выпуска, например. релиз сборки, как правило, запускают ProGuard и, возможно, удалили какой-то необходимый код. Попробуйте запустить сборку релизов в Android Studio, попробуйте создать один с помощью gradlew, установив его в устройство или эмулятор и запустив его. Наблюдайте за logcat для сообщений об ошибках. – Jerry101

ответ

2

Вы, вероятно, не добавили SHA-1 отпечаток ключа релиз для ключа API Google карт. Следуйте инструкциям по получению ваших отпечатков SHA-1 здесь - https://developers.google.com/places/android-api/signup. Проверьте консоль API, чтобы убедиться, что вы добавили ключ освобождения в дополнение к вашему отладочному ключу.

Смежные вопросы