安卓工作室 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 是否设置为 trueandroid.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 你需要导入 importandroidx.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