1

Мое приложение работало нормально, но эта проблема возникла, что связано с мультидеком и Android. Я искал проблему и сделал необходимое обновление в соответствии с руководством разработчика android.developers. Но в это время я борюсь с той же проблемой. Применяются различные решения, но все еще та же проблема. Одна градиентная сборка занимает 11-12 минут, и для проверки решения я должен ждать 11-12 минут, что действительно убивает меня. Я делюсь файлом Gradle и манифеста. Пожалуйста, помогите в решении этой проблемы.Не удалось обновить поведение multidex

build.gradle Файл

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 24 
    buildToolsVersion "24.0.0" 

    defaultConfig { 
     applicationId "com.example.mudasir.login" 
     minSdkVersion 16 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
     multiDexEnabled true 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
    packagingOptions{ 
     exclude'META-INF/NOTICE.txt' 
     exclude'META-INF/NOTICE' 
     exclude'META-INF/notice.txt' 
     exclude'META-INF/LICENSE.txt' 
     exclude'META-INF/LICENSE' 
     exclude'META-INF/license.txt' 

    } 
    dexOptions{ 
     preDexLibraries = false 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    //compile 'com.android.support:appcompat-v7:24.2.0' 
    compile 'com.android.support:design:24.2.0' 
    compile 'com.android.support:support-v4:24.2.0' 
    compile 'com.google.android.gms:play-services:9.4.0' 

} 

манифеста Файл:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.mudasir.login"> 

    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
    <uses-permission android:name="android.permission.CALL_PHONE" /> 

    <!-- 
     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" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     android:name="android.support.multidex.MultiDexApplication"> 
     <activity 
      android:name=".SignUpActivity" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".MainScreenActivity" 
      android:label="@string/title_activity_main_screen_activity" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".SignInActivity" 
      android:label="@string/title_activity_signin_" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".sidemenu_Activity" 
      android:theme="@style/AppTheme.NoActionBar"> 


     </activity> 

     <!-- 
      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"> 
     </activity> 
    </application> 

</manifest> 

ответ

1

добавить следующие зависимости в вашем файле Gradle

dependencies { 
    compile 'com.android.support:multidex:1.0.0' 
} 

Для получения дополнительной информации посетите: https://developer.android.com/studio/build/multidex.html

+0

позвольте мне проверить .. это единственная проблема .. ?? –

+0

Да, вы уже указали multidexEnabled true и обновленный тег приложения – abhishesh

+0

ok давайте попробуем .. Для проверки одного решения потребуется 10 минут градл build. :( –

2

Вы должны добавить эту часть вашего build.gradle

dependencies { 
    compile 'com.android.support:multidex:1.0.1' 
} 

Но реальной проблемой является то, что вы используете:

compile 'com.android.support:support-v4:24.2.0' 
compile 'com.google.android.gms:play-services:9.4.0' 

Вы никогда не должны использоватьcompile 'com.google.android.gms:play-services:9.4.0' как включает в себя каждый Библиотека сервисов Google Play - используйте только APIs you need.

То же самое для библиотекиv4 Поддержка, которая была разделена на несколько smaller modules.

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