安卓工作室 3.6.1 |错误:“此项目使用 AndroidX 依赖项”[重复]

Posted

技术标签:

【中文标题】安卓工作室 3.6.1 |错误:“此项目使用 AndroidX 依赖项”[重复]【英文标题】:Android Studio 3.6.1 | Error: "This project uses AndroidX dependencies" [duplicate] 【发布时间】:2020-06-15 19:32:52 【问题描述】:

我已将我的 android Studio 和 targetSdkVersion (build.gradle) 更新到 29。我迁移到了 AndroidX。现在 Gradle 构建给了我这 2 个错误。

此项目使用 AndroidX 依赖项,但未启用“android.useAndroidX”属性。在 gradle.properties 文件中将此属性设置为 true,然后重试。

检测到以下 AndroidX 依赖项:androidx.versionedparcelable:versionedparcelable:1.0.0, androidx.fragment:fragment:1.0.0, androidx.slidingpanelayout:slidingpanelayout:1.0.0, androidx.core:core:1.0.0, androidx.customview:customview:1.0.0, androidx.swiperefreshlayout:swiperefreshlayout:1.0.0, androidx.interpolator:interpolator:1.0.0, androidx.loader:loader:1.0.0, androidx.drawerlayout:drawerlayout:1.0.0, androidx.viewpager:viewpager:1.0.0, androidx.collection:collection:1.0.0, androidx.localbroadcastmanager:localbroadcastmanager:1.0.0, androidx.lifecycle:lifecycle-common:2.0.0, androidx.arch.core:core- common:2.0.0, androidx.annotation:annotation:1.1.0, androidx.lifecycle:lifecycle-livedata:2.0.0, androidx.legacy:legacy-support-core-ui:1.0.0, androidx.lifecycle:lifecycle- viewmodel:2.0.0, androidx.lifecycle:lifecycle-livedata-core:2.0.0, androidx.arch.core:core-runtime:2.0.0, androidx.legacy:legacy-support-core-utils:1.0.0, androidx.documentfile:documentfile:1.0.0,和roidx.cursoradapter:cursoradapter:1.0.0, androidx.lifecycle:lifecycle-runtime:2.0.0, androidx.coordinatorlayout:coordinatorlayout:1.0.0, androidx.asynclayoutinflater:asynclayoutinflater:1.0.0, androidx.print:print:1.0。 0

我的代码是:MainActivity.java

package it.manuel.myapp;

import android.Manifest;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.DownloadManager;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.DownloadListener;
import android.webkit.URLUtil;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.iid.FirebaseInstanceId;
import com.google.firebase.iid.InstanceIdResult;
import com.google.firebase.messaging.FirebaseMessaging;


public class MainActivity extends AppCompatActivity 

    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        webView = (WebView) findViewById(R.id.webview);
        webView.setWebViewClient(new WebViewClient());
        webView.loadUrl("http://google.com/");
        WebSettings webSettings = webView.getSettings();
        webSettings.setjavascriptEnabled(true);

    




    @Override

    public void onBackPressed() 
        if (webView.canGoBack())
            webView.goBack();
         else 
            super.onBackPressed();
        
    

build.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.6.1'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
        classpath 'com.google.gms:google-services:4.2.0'
    


allprojects 
    repositories 
        google()
        jcenter()
    


task clean(type: Delete) 
    delete rootProject.buildDir

build.gradle(:app)

apply plugin: 'com.android.application'

android 
    compileSdkVersion 29
    defaultConfig 
        applicationId "it.manuel.myapp"
        minSdkVersion 29
        targetSdkVersion 29
        versionCode 2
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    
    buildTypes 
        release 
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        
    
    productFlavors 
    
    compileOptions 
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    
    buildToolsVersion = '28.0.3'


dependencies 
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.firebase:firebase-core:17.2.3'
    implementation 'com.google.firebase:firebase-messaging:20.1.1'
    testImplementation 'junit:junit:4.13'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'


apply plugin: 'com.google.gms.google-services'

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="it.manuel.myapp">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <application
        android:allowBackup="true"
        android:usesCleartextTraffic="true"
        android:icon="@mipmap/ic_launcher"
        android:label="MyApp"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

我不明白为什么它不再起作用了。

【问题讨论】:

你能检查你的 gradle.properties 文件,使用 AndroidX 是否设置为 true android.useAndroidX=true 【参考方案1】:

Android Gradle 插件提供以下全局标志,您可以 可以在你的 gradle.properties 文件中设置:

android.useAndroidX:设置为 true 时,此标志表示您 想从现在开始使用 AndroidX。如果没有国旗, Android Studio 的行为就像标志设置为 false。

android.enableJetifier:当设置为 true 时,这个标志表明你 想要工具支持(来自 Android Gradle 插件) 自动转换现有的第三方库,就好像它们是 为 AndroidX 编写。如果该标志不存在,Android Studio 的行为如下 如果标志设置为 false。

要启用 jetifier,请将这两行添加到您的 gradle.properties 文件中:

android.useAndroidX=true
android.enableJetifier=true

【讨论】:

好吧..我有插入,现在给我 Jackpot allarm :D 错误:找不到符号 public class MainActivity extends AppCompatActivity ^ symbol: class AppCompatActivity MailActivity 给出这个错误.. @SkleroMc 你需要导入 import androidx.appcompat.app.AppCompatActivity @WaqarUlHaq 这个 androidx 的反应不会与 android 不同,对吧? 如果 Android Studio 会为这些类型的问题提供解决方案,并提供实际可用的答案,例如您提供的两行代码!当他们确切地知道解决问题需要什么时,他们似乎认为导致网络搜索的线索就足够了。感谢他们应该给我的解决方案。 我发现这个文件应该修改为android.useAndroidX=true android.enableJetifier=true:project_folder\platforms\android\cordova\lib\config\GradlePropertiesParser.js

以上是关于安卓工作室 3.6.1 |错误:“此项目使用 AndroidX 依赖项”[重复]的主要内容,如果未能解决你的问题,请参考以下文章

安卓工作室项目

错误:无法找到方法 'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;安卓工作室 3

序言中不能有内容。在安卓工作室

例外:不支持的 Android 插件版本:3.6.3。颤振安卓工作室

安卓工作室的问题

安卓相机不工作[关闭]