64kのメソッド制限を超えた後、Unityプロジェクトをgradleビルドとしてエクスポートしようとしました。 Androidのメーカーにそれをインポートした後、私はエラーを得たデフォルトの複数のDexファイルUnity gradle
Error: A library uses the same package as this project: com.myproject.name
このquestionを見つけた後、私は私のGradleのプロジェクトに
enforceUniquePackageName = false
を追加しました。今私は、Android Studioでプロジェクトを実行することができますが、その質問への回答で述べたように、私はAPKを構築しようとすると、私は今、次のエラーを取得する
Multiple dex files define Lcom/myproject/myappname/BuildConfig;
// GENERATED BY UNITY. REMOVE THIS COMMENT TO PREVENT OVERWRITING WHEN EXPORTING AGAIN
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
}
}
allprojects {
repositories {
flatDir {
dirs 'libs'
}
}
}
apply plugin: 'com.android.application'
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile(name: 'ShortcutBadger-1.1.5', ext:'aar')
compile(name: 'animated-vector-drawable-23.4.0', ext:'aar')
compile(name: 'appcompat-v7-23.4.0', ext:'aar')
compile(name: 'cardview-v7-23.4.0', ext:'aar')
compile(name: 'customtabs-23.4.0', ext:'aar')
compile(name: 'facebook-android-sdk-4.17.0', ext:'aar')
compile(name: 'facebook-android-wrapper-7.9.4', ext:'aar')
compile(name: 'firebase-analytics-11.0.2', ext:'aar')
compile(name: 'firebase-analytics-impl-11.0.2', ext:'aar')
compile(name: 'firebase-app-unity-4.0.2', ext:'aar')
compile(name: 'firebase-common-11.0.2', ext:'aar')
compile(name: 'firebase-core-11.0.2', ext:'aar')
compile(name: 'firebase-iid-11.0.2', ext:'aar')
compile(name: 'firebase-messaging-11.0.2', ext:'aar')
compile(name: 'firebase-messaging-unity-4.0.2', ext:'aar')
compile(name: 'play-services-base-11.0.2', ext:'aar')
compile(name: 'play-services-basement-11.0.2', ext:'aar')
compile(name: 'play-services-gcm-11.0.2', ext:'aar')
compile(name: 'play-services-iid-11.0.2', ext:'aar')
compile(name: 'play-services-tasks-11.0.2', ext:'aar')
compile(name: 'support-compat-26.0.0-alpha1', ext:'aar')
compile(name: 'support-core-ui-26.0.0-alpha1', ext:'aar')
compile(name: 'support-core-utils-26.0.0-alpha1', ext:'aar')
compile(name: 'support-fragment-26.0.0-alpha1', ext:'aar')
compile(name: 'support-media-compat-26.0.0-alpha1', ext:'aar')
compile(name: 'support-v4-26.0.0-alpha1', ext:'aar')
compile(name: 'support-vector-drawable-23.4.0', ext:'aar')
compile(name: 'utnotifications', ext:'aar')
compile project(':Firebase')
compile project(':UTNotificationsRes')
compile fileTree(dir: 'fabric-init/libs', include: ['*.jar'])
compile fileTree(dir: 'crashlytics-wrapper/libs', include: ['*.jar'])
compile fileTree(dir: 'crashlytics/libs', include: ['*.jar'])
compile fileTree(dir: 'beta/libs', include: ['*.jar'])
compile fileTree(dir: 'answers/libs', include: ['*.jar'])
compile project(':fabric')
compile (project(':unity-android-resources'))
}
android {
compileSdkVersion 25
buildToolsVersion '26.0.0'
enforceUniquePackageName = false
defaultConfig {
targetSdkVersion 25
}
lintOptions {
abortOnError false
disable 'MissingTranslation'
}
signingConfigs {
//omitted!
}
buildTypes {
debug {
jniDebuggable true
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-unity.txt'
signingConfig signingConfigs.release
}
}
}
を次のように私のGradleファイルがあります
別のプラグインを削除してビルドしようとすると、最後のプラグインのunity-android-resourcesをコメントアウトするとプロジェクトを構築できますが、もちろん私のアプリケーションは正しく動作しません。このエラーはなぜここで発生するのですか?この問題をどうやって解決できますか?
Androidスタジオにどのようにインポートしますか? – Programmer
私はUnity 5.5.0f3を使用しています。ビルドシステムは "プロジェクトをエクスポート"チェックボックスをオンにして "Gradle(new)"に設定されています。プロジェクトの内部に)インポートすると、Androidスタジオでgradleバージョンのエラーが発生し、2.3.3にアップデートしました。 –
[Gradle(New)]でエクスポートしないでください。 (レガシー)。 [this](https://stackoverflow.com/questions/38980792/exporting-and-running-unity3d-project-to-android-studio/39008549#39008549)の手順に従います。それを行う方法を示し、その後にgradleが追加されます。次に、その手順に従ってインポートします。それが失敗した場合は、「内部(デフォルト)」としてエクスポートし、次にリンク先の手順に従います。あなたが** Android Studioで**エラーを取得することを忘れないでください。ステップ2Aはそのエラーを修正する。 – Programmer