Android Studioをアップグレードしました
Android Studio 3.2
Build #AI-181.5540.7.32.5014246, built on September 17, 2018
JRE: 1.8.0_152-release-1136-b06 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.11.6
空のアクティビティテンプレートを使用して新しいプロジェクトを作成します
Sync Gradle
Clean
Build
Run
私のアプリケーションのlogcatは起動時にこの例外を表示します
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: Rejecting re-init on previously-failed class Java.lang.Class<Android.support.v4.view.ViewCompat$OnUnhandledKeyEventListenerWrapper>: Java.lang.NoClassDefFoundError: Failed resolution of: Landroid/view/View$OnUnhandledKeyEventListener;
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.support.v4.view.ViewCompat.setBackground(Android.view.View, Android.graphics.drawable.Drawable) (ViewCompat.Java:2341)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.support.v7.widget.ActionBarContainer.<init>(Android.content.Context, Android.util.AttributeSet) (ActionBarContainer.Java:62)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Java.lang.Object Java.lang.reflect.Constructor.newInstance0(Java.lang.Object[]) (Constructor.Java:-2)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Java.lang.Object Java.lang.reflect.Constructor.newInstance(Java.lang.Object[]) (Constructor.Java:334)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Android.view.View Android.view.LayoutInflater.createView(Java.lang.String, Java.lang.String, Android.util.AttributeSet) (LayoutInflater.Java:647)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Android.view.View Android.view.LayoutInflater.createViewFromTag(Android.view.View, Java.lang.String, Android.content.Context, Android.util.AttributeSet, boolean) (LayoutInflater.Java:790)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Android.view.View Android.view.LayoutInflater.createViewFromTag(Android.view.View, Java.lang.String, Android.content.Context, Android.util.AttributeSet) (LayoutInflater.Java:730)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.view.LayoutInflater.rInflate(org.xmlpull.v1.XmlPullParser, Android.view.View, Android.content.Context, Android.util.AttributeSet, boolean) (LayoutInflater.Java:863)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.view.LayoutInflater.rInflateChildren(org.xmlpull.v1.XmlPullParser, Android.view.View, Android.util.AttributeSet, boolean) (LayoutInflater.Java:824)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Android.view.View Android.view.LayoutInflater.inflate(org.xmlpull.v1.XmlPullParser, Android.view.ViewGroup, boolean) (LayoutInflater.Java:515)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Android.view.View Android.view.LayoutInflater.inflate(int, Android.view.ViewGroup, boolean) (LayoutInflater.Java:423)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Android.view.View Android.view.LayoutInflater.inflate(int, Android.view.ViewGroup) (LayoutInflater.Java:374)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Android.view.ViewGroup Android.support.v7.app.AppCompatDelegateImpl.createSubDecor() (AppCompatDelegateImpl.Java:607)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.support.v7.app.AppCompatDelegateImpl.ensureSubDecor() (AppCompatDelegateImpl.Java:518)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.support.v7.app.AppCompatDelegateImpl.setContentView(int) (AppCompatDelegateImpl.Java:466)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.support.v7.app.AppCompatActivity.setContentView(int) (AppCompatActivity.Java:140)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void com.manacle.secondmanacle.MainActivity.onCreate(Android.os.Bundle) (MainActivity.Java:11)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.app.Activity.performCreate(Android.os.Bundle, Android.os.PersistableBundle) (Activity.Java:7009)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.app.Activity.performCreate(Android.os.Bundle) (Activity.Java:7000)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.app.Instrumentation.callActivityOnCreate(Android.app.Activity, Android.os.Bundle) (Instrumentation.Java:1214)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Android.app.Activity Android.app.ActivityThread.performLaunchActivity(Android.app.ActivityThread$ActivityClientRecord, Android.content.Intent) (ActivityThread.Java:2731)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.app.ActivityThread.handleLaunchActivity(Android.app.ActivityThread$ActivityClientRecord, Android.content.Intent, Java.lang.String) (ActivityThread.Java:2856)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.app.ActivityThread.-wrap11(Android.app.ActivityThread, Android.app.ActivityThread$ActivityClientRecord, Android.content.Intent, Java.lang.String) (ActivityThread.Java:-1)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.app.ActivityThread$H.handleMessage(Android.os.Message) (ActivityThread.Java:1589)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.os.Handler.dispatchMessage(Android.os.Message) (Handler.Java:106)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.os.Looper.loop() (Looper.Java:164)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void Android.app.ActivityThread.main(Java.lang.String[]) (ActivityThread.Java:6494)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at Java.lang.Object Java.lang.reflect.Method.invoke(Java.lang.Object, Java.lang.Object[]) (Method.Java:-2)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void com.Android.internal.os.RuntimeInit$MethodAndArgsCaller.run() (RuntimeInit.Java:438)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: at void com.Android.internal.os.ZygoteInit.main(Java.lang.String[]) (ZygoteInit.Java:807)
2018-09-27 13:51:41.116 22090-22090/? I/zygote64: Caused by: Java.lang.ClassNotFoundException: Didn't find class "Android.view.View$OnUnhandledKeyEventListener" on path: DexPathList[[Zip file "/data/app/com.manacle.secondmanacle-6Ra5peoMwc4HH30iTlEXCg==/base.apk"],nativeLibraryDirectories=[/data/app/com.manacle.secondmanacle-6Ra5peoMwc4HH30iTlEXCg==/lib/arm64, /system/lib64, /vendor/lib64]]
Android Studioによって生成されたテンプレートアプリは変更していません。
テンプレート生成アプリが正常に起動しないのはなぜですか?
AndroidXへの移行を試みましたが、問題はまったく同じままです。
Android Studioが「クリーンな」テンプレートアプリケーションを生成できないのはなぜですか?
私のgradleファイルはこれに似ています:-
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.2.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
====
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 28
defaultConfig {
applicationId "com.manacle.secondmanacle"
minSdkVersion 21
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-alpha2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
}
Android xを使用している場合、これを試してください(このコードセグメントをアプリレベルのGradleファイルに追加します)
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == "androidx") {
if (!requested.name.startsWith("multidex")) {
details.useVersion "${targetSdk}.+"
}
}
}}
Android xを使用していない場合は、このコードセグメントを試してください。
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == "com.Android.support") {
if (!requested.name.startsWith("multidex")) {
details.useVersion "26.+"
}
}
}}
Build.gradleファイルの最後にこれを貼り付けることで、同様の問題を解決しました
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == "com.Android.support") {
if (!requested.name.startsWith("multidex")) {
details.useVersion "26.+"
}
}
}
}