错误:将字节码转换为 dex 时出错:原因:com.android.dex.DexException:多个 dex 文件定义了 Lcom/example/admin/myapplication/MainActivity;

阿尤什·克什蒂

我在我的设备上运行这个程序时遇到这个错误,因为我将我的 AndroidStudio 更新到了当前的最新版本并且我无法理解这个问题。如果有人可以帮助我,我将不胜感激。我猜 gradle 或清单文件中存在一些问题。

这是我的 build.gradle:

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

android {
compileSdkVersion 26
defaultConfig {
    applicationId "com.example.admin.myapplication"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner 
"android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 
    'proguard-rules.pro'
            }
        }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    compile 'de.hdodenhof:circleimageview:2.0.0'
    compile 'com.googlecode.libphonenumber:libphonenumber:8.4.0'
    compile 'com.facebook.android:facebook-android-sdk:[4,5)'
    compile 'com.facebook.android:account-kit-sdk:4.+'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-
core:3.0.1'
}

AndroidManifest.xml

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

<uses-sdk android:minSdkVersion="15" />


<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />



<application
    android:allowBackup="false"
    android:icon="@mipmap/icon"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <meta-data
        android:name="com.facebook.accountkit.ApplicationName"
        android:value="@string/app_name" />
    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/FACEBOOK_APP_ID" />
    <meta-data
        android:name="com.facebook.accountkit.ClientToken"
        android:value="@string/ACCOUNT_KIT_CLIENT_TOKEN" />

    <activity
        android:name="com.facebook.accountkit.ui.AccountKitActivity"
        android:theme="@style/AppLoginTheme"
        tools:replace="android:theme" />
    <activity 
android:name="com.facebook.accountkit.ui.AccountKitEmailRedirectActivity">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="@string/ak_login_protocol_scheme" />
        </intent-filter>
    </activity>
    <activity
        android:name=".LoginActivity"
        android:screenOrientation="portrait"
        android:theme="@style/FullscreenTheme">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".AccountActivity"
        android:label="@string/account"
        android:screenOrientation="portrait" />
    <activity
        android:name=".EmergencyActActivity"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme" />
    <activity
        android:name=".HealthActivity"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme" />
    <activity
        android:name=".BrowseActivity"
        android:screenOrientation="portrait" />
    <activity
        android:name=".EmargencyResponseActivity"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme" />
    <activity
        android:name=".StepsActivity"
        android:screenOrientation="portrait" />
    <activity
        android:name=".Main2Activity"
        android:screenOrientation="portrait"
        android:theme="@style/AppTheme.NoActionBar" />
    <activity android:name=".SignUpActivity"></activity>
</application>

Krzysztof Pokrywka

尝试将其添加defaultConfig multiDexEnabled true进来dependencies compile 'com.android.support:multidex:1.0.1'并创建一个应用程序类:

public class ThisApplication extends MultiDexApplication {
  @Override
  protected void attachBaseContext(Context base) {
     super.attachBaseContext(base);
     MultiDex.install(this);
  }
}

并将此类添加到应用程序标签中的清单

<application
android:name=".ThisApplication"
<!-- other attrs -->
>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档