Не удалось выполнить задачу ': app: transformClassesWithMultidexlistForDebug'. > java.lang.UnsupportedOperationException (без сообщения об ошибке) - PullRequest
0 голосов
/ 01 июля 2018

Я не уверен, почему это происходит, но я немного покопался и попытался найти другие решения. Ни один не решен, особенно дублирующие вопросы:

android {
compileSdkVersion 26
buildToolsVersion "23.0.3"

configurations {
    all*.exclude group: 'com.android.support', module: 'support-v4'
    all*.exclude group: 'com.android.support', module: 'support-annotations'
}

defaultConfig {
    applicationId "com.myapp"
    minSdkVersion 16
    targetSdkVersion 22
    versionCode 1
    versionName "1.0"
    multiDexEnabled true
    ndk {
        abiFilters "armeabi-v7a", "x86"
    }


}

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile project(':react-native-customized-image-picker')
    compile project(':react-native-vector-icons')
    compile project(':react-native-restart')
    compile project(':react-native-image-picker')
    compile project(':react-native-fast-image')
    compile project(':lottie-react-native')
    compile project(':react-native-fetch-blob')
    compile "com.android.support:multidex:1.0.1"
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.fresco:fresco:1.0.1"
    compile "com.facebook.fresco:animated-gif:1.0.1"
    compile("com.facebook.react:react-native:0.54.0") { force = true }  // From node_modules

}

Я удалил дубликат compiles, который нашел, но до сих пор не помог. Я заметил в трассировке это предупреждение:

C:\ReactProjects\myapp\android\app\src\main\AndroidManifest.xml:11:5-29:19 Warning: application@android:theme was tagged at AndroidManifest.xml:11 to replace other declarations but no other declaration present C:\ReactProjects\myapp\android\app\src\main\AndroidManifest.xml:16:9-19:35 Warning: meta-data#com.bumptech.glide.integration.okhttp.OkHttpGlideModule was tagged at AndroidManifest.xml:16 to remove other declarations but no other declaration present

Я не знаю, приведет ли это к тому, что все это рухнет. Наконец, вот мой манифест:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.myapp"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<application
  android:name=".MainApplication"
  android:label="@string/app_name"
  android:icon="@mipmap/ic_launcher"
  android:allowBackup="true"
  tools:replace="android:theme"
  android:theme="@style/AppTheme">
  <activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
  </activity>
  <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>

Все проблемы, с которыми я сталкивался при попытке получить успешную сборку, я просматривал на SO или других источниках, но эта проблема идет своим чередом. Я никогда не вставлял compile "com.android.support:multidex:1.0.1" до того, как эта проблема возникла. По-прежнему безуспешно.

Последнее, что я запомнил, это сохранение файла с именем safecode.js в домашнем каталоге, и в основном он просто содержит код, который я хочу сохранить.

1 Ответ

0 голосов
/ 01 июля 2018

У меня была точно такая же проблема, и я понимаю, что это может быть головной болью. Вот мое решение:

1) Убедитесь, что в build.gradle и settings.gradle

нет повторяющихся зависимостей.

2) Многим из вас может не понравиться этот, но я (больно набирать это) обновил большинство вещей, таких как:

ПРИМЕЧАНИЕ. Пользовательский интерфейс вашей командной строки изменится, и это будет выглядеть потрясающе, но довольно круто. Вы привыкнете к этому. Кроме того, вам может понадобиться изменить эти compile в build.gradle в ближайшее время.

Вот решение для этого: Предупреждение Android Studio build.gradle

Это должно быть в значительной степени, но я также скажу вам другие вещи, которые я сделал, которые могут повлиять на ваше BUILD FAILED:

1) Вам может понадобиться Java 8. JDK 1.8. Добавьте это к build.gradle app directory:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

2) Избавиться от compile "com.android.support:multidex:1.0.1"

3) targetSdkVersion 22 update to 26

И, наконец,

4) В build.gradle not in app directory положите maven { url 'https://maven.google.com' } в обоих репо.

ПРИМЕЧАНИЕ. Вместо этого вы можете использовать google(), но у меня это не сработало, поэтому я остановился на maven { url 'https://maven.google.com' }.

ТАКЖЕ ВНИМАНИЕ: Вы можете получить сообщения, говорящие, "WARNING: The specified Android SDK Build Tools version (26.0.1) is ignored, as it is below the minimum supported version (27.0.3) for Android Gradle Plugin 3.1.0.". Эй, 26, кажется, наше магическое число, если оно работает, то не трогай его. Если вы не абсолютно уверены, что вам нужно.

Насколько мне известно и опыт, предупреждения, которые вы получаете в процессе сборки, не повлияют на ваши BUILD SUCCESS или BUILD FAILED.

Я надеюсь, что это работает для всех!

...