Android Studioで2つの主な問題に直面しました。まず、copy-pasteとcut-paste(ctrl+c - ctrl+v - ctrl+x)一部のクラスの能力。この問題を修正するために、「キャッシュ/再起動を無効にする」をクリックしましたが、すぐに再び機能しなくなります。
2番目の問題は(最初の問題に関連していると思います)コンパイラーは、すでに定義されているメソッドと属性を認識しません。自動提案などは機能しません。
問題を解決するために私が取った手順は次のとおりです。
これが私のシステム仕様です。 Windows 10 Home単一言語(TR)、バージョン1909。16GB RAM。 Android Studio 3.5.3およびGradleバージョン3.5.3
私は同じ問題に関するすべての投稿を読みましたが、運がありません(投稿はMACおよびLinuxプラットフォームについてのみです)。
UPDATE 1.0->一部のクラスは上記の操作を実行できないが、一部のクラスは実行できることを発見しました。
上記の操作ができないクラスのアイコンがないことに気づきました。 (魔法のように「J」アイコンが表示されることがあり、別のクラスをクリックすると、このJアイコンがすぐに消えます。)AndroidのGradleまたはファイルシステムは、これらのファイルをクラスとして認識しません。
UPDATE 2.0->DuoFragmentの構造セクションをクリックしたときに(500行以上のコードとコンパイルされていないクラスの1つが)ロードできないことに気付きました何でも。 DuoFragmentのサイズは処理するのに大きいですか?
また、[ビルド]セクションを確認したところ、一部のプロセスが実行できません(これが正常かどうかはわかりません)。
UPDATE 3.0->
これが私のGradleファイルです。プロジェクトレベルのGradleファイル:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.5.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'https://jitpack.io' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
アプリレベルのGradleファイル。
apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'
Android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.lotusif.dump2"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.core:core:1.1.0'
// material widgets
implementation 'com.google.Android.material:material:1.2.0-alpha03'
// progress bar with text
implementation "com.github.skydoves:progressview:1.0.3"
// sequence progress
implementation 'com.github.transferwise:sequence-layout:1.0.11'
// flash bar
implementation 'com.andrognito.flashbar:flashbar:1.0.2'
// toggle - switch button
implementation 'com.github.GwonHyeok:StickySwitch:0.0.15'
// Custom Toast message
implementation 'com.github.GrenderG:Toasty:1.4.2'
// liquid effect bar
implementation 'com.mikhaellopez:circularfillableloaders:1.3.2'
// bubble tab bar
implementation 'com.fxn769:bubbletabbar:1.0.3'
//glide image library
implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
// scaling layout
implementation 'com.github.iammert:ScalingLayout:1.2.1'
// lottie animation
implementation 'com.airbnb.Android:lottie:3.3.1'
//Gson
implementation 'com.google.code.gson:gson:2.8.6'
//RxJava
implementation 'io.reactivex.rxjava2:rxjava:2.2.15'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'com.daimajia.easing:library:2.1@aar'
implementation 'com.daimajia.androidanimations:library:2.3@aar'
//retrofit
implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
implementation 'com.squareup.retrofit2:retrofit:2.7.1'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1'
}
アップデート1.0画像
アップデート2.0画像
UPDATE->KotlinライブラリにはWindows 10単一言語トルコ語。 (多分他の単一言語Windowsディストリビューションのいくつかに同じ問題があり、私はまだ知りません。)Kotlinのいくつかのライブラリはトルコ語のオペレーティングシステムで動作できません。私はこのインストールで問題を解決しましたWindows 10 Pro英語。
Windows 10単一言語トルコ語を使用する他の開発者は、さまざまな角度で同じ問題に直面しています。 ( Example1 および Example2 )
古い回答
TL; DR->問題は、Kotlin。 JavaプロジェクトをKotlinに変換しましたが、問題のあるサードパーティのライブラリはすべて正常に機能します。問題はJava-Kotlin競合。
この問題を後で解決していく人たちのために、私がどのように問題を解決したかを共有したいと思います。
上記のすべての手順を1つずつ実行しましたが、解決策が見つからなかったため、サードパーティのライブラリを調べることにしました。
まず、サードパーティのライブラリをすべて無効にして、すでに定義されているメソッドと属性を認識しないクラスのステータスを確認しました。サードパーティライブラリを無効にしてプロジェクトの再構築とGradleの同期を行った後、破損したクラスの自動提案機能が再び機能し始め、問題のあるサードパーティライブラリを見つけて、それらのサードパーティライブラリを1つずつアクティブ化しました。どのサードパーティライブラリがプロジェクトを壊したかを見つけました。
私のプロジェクトを壊した4つのサードパーティライブラリがありました: StickySwitch 、 ProgressView 、 SequenceLayout および Flashbar 。これらのライブラリを削除したところ、すべてが正常に機能しました。ライブラリを削除した後、私のGradleファイルは次のようになりました。
_apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'
Android {
compileSdkVersion 29
buildToolsVersion "29.0.2"
defaultConfig {
applicationId "com.lotusif.dump2"
minSdkVersion 21
targetSdkVersion 29
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = 1.8
targetCompatibility = 1.8
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.core:core:1.1.0'
// material widgets
implementation 'com.google.Android.material:material:1.2.0-alpha03'
// progress bar with text BUGGY!
// implementation "com.github.skydoves:progressview:1.0.3"
// sequence progress BUGGY !
// implementation 'com.github.transferwise:sequence-layout:1.0.11'
// flash bar BUGGY !
// implementation 'com.andrognito.flashbar:flashbar:1.0.2'
// toggle - switch button BUGGY !
// implementation 'com.github.GwonHyeok:StickySwitch:0.0.15'
// Custom Toast message
implementation 'com.github.GrenderG:Toasty:1.4.2'
// liquid effect bar
implementation 'com.mikhaellopez:circularfillableloaders:1.3.2'
// bubble tab bar
implementation 'com.fxn769:bubbletabbar:1.0.3'
// Android chart library
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
//glide image library
implementation 'com.github.bumptech.glide:glide:4.10.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.10.0'
// scaling layout
implementation 'com.github.iammert:ScalingLayout:1.2.1'
// lottie animation
implementation 'com.airbnb.Android:lottie:3.3.1'
//Gson
implementation 'com.google.code.gson:gson:2.8.6'
//RxJava
implementation 'io.reactivex.rxjava2:rxjava:2.2.15'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'com.daimajia.easing:library:2.1@aar'
implementation 'com.daimajia.androidanimations:library:2.3@aar'
//retrofit
implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
implementation 'com.squareup.retrofit2:retrofit:2.7.1'
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1'
}
_
では、私のプロジェクトを破壊するこれらのライブラリの共通機能は何でしたか?私のプロジェクトはJavaで書かれましたが、そのライブラリはKotlinで書かれました。 Javaプロジェクトですか? はい、できます です。_Android.useAndroidX=true
_と_Android.enableJetifier=true
_を追加する必要があります。 mygradle.properties、それだけです。しかし、これらの行をmygradle.propertiesにすでに追加していて、機能しませんか?
_# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
org.gradle.jvmargs=-Xmx1536m
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app's APK
# https://developer.Android.com/topic/libraries/support-library/androidx-rn
Android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
Android.enableJetifier=true
_
Kotlinライブラリがmy Java=プロジェクトで動作しない理由を理解していません。私のGradleファイルで確認できるように、_apply plugin: 'kotlin-Android'
_および_apply plugin: 'kotlin-Android-extensions'
_(Kotlinサポート用)。
プロジェクトをどのように救出しましたか?私が知っているように2つの利用可能なオプションがありました。最初の方法は、これらの4つのサードパーティライブラリを削除して使用できなかったことですが、2番目の方法は、すべてのJavaクラスをKotlinクラスに変換することです(以前に試しましたが、無効にするまで機能しませんでした)すべてのサードパーティライブラリ。すべてのJava=クラスをKotlinクラスに変換することを選択しました。そのため、上記の4つのサードパーティライブラリを使用できました。
この問題を解決するのに30日かかりました。現在、私はKotlin言語に取り組んでいます。その結果、私のプロジェクトは問題なく実行されています。
Bitbucketからプルして別のコンピューターで開き、同じように機能するかどうかを確認することをお勧めします