Android Studioでコピーと貼り付けを実行できない


9

Android Studioで2つの主要な問題に直面しました。まず第一に、私は実行することはできませんコピーし、貼り付けると、カット&ペーストctrl+ c- ctrl+ v- ctrl+ x)いくつかのクラスでは能力。この問題を修正するために、「キャッシュ/再起動を無効にする」をクリックしましたが、すぐに再び機能しなくなります。

2番目の問題は(最初の問題に関連していると思います)コンパイラーは、すでに定義されているメソッドと属性を認識しません。自動提案などは機能しません。

問題を解決するために私が取った手順は次のとおりです。

  1. ファイル->無効なキャッシュ/再起動、
  2. ファイル->省電力モード->無効、
  3. 開いているすべてのタブを閉じて、再起動します。
  4. ファイル->プロジェクトをGradleファイルと同期
  5. ファイル->ファイルシステムと同期
  6. JDKを削除して再インストールし、
  7. Android Studioを削除して再インストールします。
  8. ダウンロード済みのSDKファイルと「.Android」フォルダを削除し、
  9. すべてのプラグインを無効にして削除します。
  10. [ファイル]-> [設定]-> [キーマップ]でコピーと貼り付けのキーマップを確認しました
  11. プロジェクトをbitbucketから別の2台のコンピューターにプル
  12. 新しいプロジェクトを作成し、NotePad ++を使用してプロジェクトクラス全体を新しいプロジェクトにコピーします。
  13. すべてのJavaコードをKotlinに変換しようとしましたが、変換できません

これが私のシステム仕様です。Windows 10 Home単一言語(TR)、バージョン1909。16GB RAM。Android Studio 3.5.3およびGradleバージョン3.5.3

私は同じ問題に関するすべての投稿を読みましたが、運がありません(投稿はMACおよびLinuxプラットフォームについてのみです)。

UPDATE 1.0-> 一部のクラスが上記の操作を実行できないことを発見しましたが、一部のクラスは実行できます。

上記の操作ができないクラスのアイコンがないことに気づきました。(魔法のように「J」アイコンが表示されることがあり、別のクラスをクリックすると、このJアイコンがすぐに消えます。)Android StudioのGradleまたはファイルシステムがこれらのファイルをクラスとして認識しないと思います。

UPDATE 2.0-> DuoFragmentの構造セクションをクリックすると(500行以上のコードとコンパイルされていないクラスの1つ)、何もロードできないことに気付きました。DuoFragmentのサイズは処理するのに大きいですか?

また、[ビルド]セクションを確認したところ、一部のプロセスが実行できません(これが正常かどうかはわかりません)。

  • タスク:app:compileDebugAidl NO-SOURCE、
  • タスク:app:compileDebugRenderscript NO-SOURCE、
  • タスク:app:processDebugJavaRes NO-SOURCE

アップデート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'

}

提案なし キーマップ Androidバージョン 追加のコードを追加しない場合、Gradleの同期は正常に行われます

UPDATE 1.0イメージ

アイコンがないクラスや「J」アイコンのみのクラスは操作できません

別のクラスをクリックしたり開いたりすると、「J」アイコンが消えた

UPDATE 2.0イメージ

ビルドセクションで実行できないプロセスがあります DuoFragment構造を読み込めません DuoFragmentコードの概要


Android Studioの完全なスクリーンショットを提供できますか?失敗したビルド/ gradle同期(イベントログまたは実行を参照)が機能を停止する可能性があります。
JakeSteam

Android Studio @JakeSteamのフルスクリーンショットを追加しました。追加のコードスニペットを追加しない場合、Gradleの同期は成功します。(私のプロジェクトコード全体はBitbucketからのものです)
TeachMeJava

コピーや貼り付けがブラウザやテキストエディタなどの別の場所で機能しているかどうかを確認しましたか?
Sanket Vekariya、

はい、動作します。一部のクラスのみ(DuoFragment()クラスと言ったように)は機能しません@SanketVekariya
TeachMeJava

build.gradleを見せていただけますか?(プロジェクトとメインモジュールの両方から)。プロジェクトの特定のjava.sourceロケーションを定義しましたか?
zapotec

回答:


1

更新-> Windows 10単一言語トルコ語の Kotlinライブラリにバグがあります。(多分他の単一言語Windowsディストリビューションのいくつかに同じ問題があり、私はまだ知りません。)Kotlinのいくつかのライブラリはトルコ語のオペレーティングシステムで動作できません。Windows 10 Pro英語をインストールすることでこの問題を解決しました。

Windows 10単一言語トルコ語を使用する他の開発者は、さまざまな角度で同じ問題に直面しています。(Example1およびExample2

古い答え

TL; DR- >問題は、Kotlinで作成されたサードパーティライブラリに関するものです。JavaプロジェクトをKotlinに変換しました。問題のあるサードパーティのライブラリはすべて問題なく動作します。問題は、JavaとKotlinの競合に関するものです。

この問題を後で解決していく人たちのために、私がどのように問題を解決したかを共有したいと思います。

上記のすべての手順を1つずつ実行しましたが、解決策が見つからなかったため、サードパーティのライブラリを調べることにしました。

まず、すべてのサードパーティライブラリを無効にし、定義済みのメソッドと属性を認識しないクラスのステータスを確認しました。サードパーティライブラリを無効にしてプロジェクトの再構築とGradleの同期を行った後、破損したクラスの自動提案機能が再び機能し始め、問題のあるサードパーティライブラリを見つけて、それらのサードパーティライブラリを1つずつアクティブ化しました。どのサードパーティライブラリがプロジェクトを壊したかを見つけました。

私のプロジェクトを壊したサードパーティのライブラリが4つありました:StickySwitchProgressViewSequenceLayout、および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で作成されました。1秒、JavaプロジェクトでKotlinライブラリを使用できませんか?はい、できます。私はgradle.propertiesに追加する必要がandroid.useAndroidX=trueありますandroid.enableJetifier=true、それだけです。しかし、それらの行をgradle.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ライブラリーがJavaプロジェクトで機能しない理由を理解していません。私のGradleファイルで確認できるように、私はKotlinのサポートに使用apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'ています。

プロジェクトをどのように救出しましたか?私が知っているように2つの利用可能なオプションがありました。最初の方法は、これらの4つのサードパーティライブラリを削除して使用できなかったことですが、2番目の方法は、すべてのJavaクラスをKotlinクラスに変換することです(以前に試しましたが、すべてのサードパーティライブラリを無効にするまで機能しませんでした)。すべてのJavaクラスをKotlinクラスに変換することにしました。したがって、私は上記の4つのサードパーティライブラリを使用することができました。

この問題を解決するのに30日かかりました。現在、私はKotlin言語に取り組んでいます。その結果、私のプロジェクトは問題なく実行されています。


Kotlinよりも、androidxを使用するこれらのライブラリ(またはアプリ)の事実に関連していたと思います。Kotlinのコンパイル結果は、Javaコードとまったく同じです。:androidxについてこれを見てdeveloper.android.com/jetpack/androidx/...
サポテカ

はい、記事を読みましたが、プロジェクトの正確な問題が何なのかわかりません。@zapotec
TeachMeJava

正直なところ、それがあなたの問題でなければ、私はあなたを助けることができません。gradle.propertiesに「android.useAndroidX = true」と「android.enableJetifier = true」がすでにある場合、AndroidStudioがコードを正しく管理できないことは意味がありません。私は自分のプロジェクトにいくつかのKotlinライブラリー(例えば、OkHttp4)があり、Kotlinでコードを書き直す必要はありません。その上、gradleファイルにkotlinプラグインを追加する必要すらありません。
zapotec

多くの開発者がこの種のライブラリを一緒に使用しています。それらのほとんどは何の問題にも直面していませんが、私はします。私はそれがASバグかどうかを把握しようとしています。私はクラスのサイズをチェックしました(おそらく単一のフラグメントで500行以上がプロジェクトを壊しましたなど)。しかし、何も機能しません。最後に2つの修正オプションを見つけました。前にも言ったように、問題を解決するのに30日かかりました。問題の正確な理由はわかりませんでしたが、@ zapotecの修正方法を見つけました
TeachMeJava

0

bitbucketからプルして別のコンピューターで開き、同じように機能するかどうかを確認することをお勧めします


2つの異なる(新しくインストールされたAndroid Studio)コンピューターでプロジェクトをプルしましたが、同じ問題が@muxammedにまだ存在しています。このステップをチェックリストに追加しました。
TeachMeJava
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.