强调文本我需要在项目中使用 firebase Crashlytics 但不想将项目迁移到 android。我想知道是否可以。
如何在未迁移到 Androidx 的项目中使用 Androidx 库:-与此类似
在 gradle 中添加了对 firebase Crashlytics 的依赖导致 brlow 错误:属性 application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22 :18-91 也存在于 [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory)。建议:将 'tools:replace="android:appComponentFactory"' 添加到 AndroidManifest.xml:15:5-468:19 的元素以覆盖。
2021 年 5 月 25 日更新:找不到任何方法,将整个项目转换为 androidX
android-support-library firebase-crash-reporting androidx android-jetifier
我刚刚将项目迁移到androidx并启用了jetifier。
现在,当我要构建项目时,出现以下错误:“尚未执行转换” Gradle同步完成,没有任何错误,但是构建失败。
该任务执行失败:
Transform org.eclipse.jdt.core.jar (org.eclipse.jdt:org.eclipse.jdt.core:3.10.0) with IdentityTransform
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪 :
java.lang.IllegalStateException: Transformation hasn't been executed yet
at org.gradle.api.internal.artifacts.transform.TransformInfo.getFailure(TransformInfo.java:88)
at org.gradle.api.internal.artifacts.transform.TransformInfo.access$300(TransformInfo.java:48)
at org.gradle.api.internal.artifacts.transform.TransformInfo$ChainedTransformInfo$ChainedArtifactTransformStepOperation.run(TransformInfo.java:235)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:300)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:292)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:174)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:90)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.artifacts.transform.TransformInfo$ChainedTransformInfo.execute(TransformInfo.java:217)
at org.gradle.api.internal.artifacts.transform.TransformInfoExecutor.execute(TransformInfoExecutor.java:34)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Run Code Online (Sandbox Code Playgroud)
我的工作站:
Build: 3.3 Canary 13
Android Gradle Plugin: 3.3.0-alpha13
Gradle: 4.10.1
BuildToolsVersion : 28.0.3
Compile/Targer sdkVersion : …Run Code Online (Sandbox Code Playgroud) 我已经通过使用 android studio 3.4 迁移到 androidX,迁移后我每次都面临这个问题。虽然我已经尝试在其中排除了 butterknife compilerAnnotation ,gradle.properties但这表明WARNING: The option setting 'android.jetifier.blacklist=butterknife.*\.jar' is experimental and unsupported.
我还更新了最新的 Butterknife 依赖项,其中 JakeWharton 本人提到该问题已解决,并且是喷气机问题。看看这个解决方法
implementation 'com.jakewharton:butterknife:10.1.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.1.0'
Run Code Online (Sandbox Code Playgroud)
在我的build.gradle文件中
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
Run Code Online (Sandbox Code Playgroud)
所以我认为这个支持库会导致这个问题。我已经尝试了谷歌第一个搜索结果中的所有解决方案,但都无法解决。
这是我的 build.gradle 文件
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
mavenCentral()
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion 28
defaultConfig {
applicationId "com.audacityit.selltec"
minSdkVersion 19 …Run Code Online (Sandbox Code Playgroud) 我正在尝试构建一个相对较新的项目。Gradle 同步良好,但每当我尝试构建时,都会收到如下错误:
Execution failed for task ':app:kaptGenerateStubsDebugKotlin'.
> Could not resolve all artifacts for configuration ':app:debugCompileClasspath'.
> Failed to transform artifact 'common.jar (com.android.tools:common:26.4.0)' to match attributes {artifactType=android-classes, org.gradle.usage=java-runtime-jars}.
> Execution failed for JetifyTransform: C:\Users\Dave\.gradle\caches\modules-2\files-2.1\com.android.tools\common\26.4.0\539939e284fba9fe343b890a6e21c9333767c886\common-26.4.0.jar.
> Failed to transform 'C:\Users\Dave\.gradle\caches\modules-2\files-2.1\com.android.tools\common\26.4.0\539939e284fba9fe343b890a6e21c9333767c886\common-26.4.0.jar' using Jetifier. Reason: The given artifact contains a string literal with a package reference 'android.support.design.widget' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.. (Run with --stacktrace for …Run Code Online (Sandbox Code Playgroud) 我最近将我的应用程序迁移到了AndroidX,因此使用了 Jetifier 工具(目前是与 Android Gradle 插件版本捆绑的版本3.3.0-alpha10):
# gradle.properties
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
它工作正常,但在我的应用程序的整个构建过程中添加了许多日志(对于它转换的每个库),如下所示,并使日志难以阅读。
它看起来像这样:
> Transform room-runtime.aar (androidx.room:room-runtime:2.0.0-rc01) with AarTransform
> Transform lifecycle-extensions.aar (androidx.lifecycle:lifecycle-extensions:2.0.0-rc01) with AarTransform
> Transform work-runtime.aar (android.arch.work:work-runtime:1.0.0-alpha08) with AarTransform
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用/忽略/过滤这些日志?
android build android-gradle-plugin androidx android-jetifier
我们正在努力减少 jetifier 转换对我们的 CI 构建的影响。我们正在使用 AndroidX,我们升级了所有代码以使用 AndroidX 包。我们启用了 jetifier,因此我们使用的所有依赖项都会自动迁移。我们的构建在本地和 CI 上都运行良好。但是,由于切换到 AndroidX,我们的 CircleCI 构建需要大量时间,特别是 AAR 的转换。显然,在我们更新任何依赖项之前,jetifier 步骤是可以缓存的,因此不会每次都重复转换,但是我们很难做到这一点。
我们尝试app:assembleOurFlavorDebug在 CircleCI 缓存上运行之前保存,但转换仍然在每个构建上运行。save_cache 步骤保存/gradle目录并使用一些 .gradle 文件的内容作为哈希。我们观察了 2 个连续的构建,(相同的缓存哈希)并且两次我们都注意到 Jetifier 在所有 AAR 上运行
我们希望将 jetifier 转换的结果重新用于后续构建。
我给自己定android.useAndroidX = true和android.enableJetifier = true上gradle.properties。但是当我跑步时,react-native run-android我看到:
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 1902 file(s) to forward-jetify. Using 4 workers...
Run Code Online (Sandbox Code Playgroud)
但是当我将 dir 更改为 android dir 并运行时./gradlew assembleDebug,我没有看到这样的事情。因此,我的构建在所有android.support.*导入库的地方都会中断。
> Task :react-native-app-auth:compileDebugJavaWithJavac FAILED
.../node_modules/react-native-app-auth/android/src/main/java/com/rnappauth/
RNAppAuthModule.java:10: error: package android.support.annotation does not exist
import android.support.annotation.Nullable;
^
.../node_modules/react-native-app-auth/android/src/main/java/com/rnappauth/RNAppAuthModule.java:11: error: cannot find symbol
import android.support.customtabs.CustomTabsCallback;
^
symbol: class CustomTabsCallback
location: package android.support.customtabs
.../node_modules/react-native-app-auth/android/src/main/java/com/rnappauth/RNAppAuthModule.java:12: error: cannot find …Run Code Online (Sandbox Code Playgroud) 启用jetifier后出现以下错误
JetifyTransform 的执行失败:/Users/balwinder/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-android-extensions/1.3.20/b1016507a951b0cfaae431079ec0ac6847/d560ac6847/files-2.1/org.jetbrains.kotlin/kotlin-android-extensions 。罐。
the given artifact contains a string literal with a package reference 'android.support.v4' that cannot be safely rewritten. Libraries using reflection such as annotation processors need to be updated manually to add support for androidx.. (Run with --stacktrace for more details.)
Run Code Online (Sandbox Code Playgroud)
版本
def versions = [
gradlePlugin : '3.5.1',
multidex : '1.0.3',
kotlin : '1.3.31',
supportLibrary : versionDependency.supportLibrary,
archComp : versionDependency.supportLibrary,
rxJava : versionDependency.rxJava,
constraintLayout : '1.1.3',
dataBinding : '3.1.0-alpha06',
navigation : '2.0.0',
rxKotlin : '2.3.0', …Run Code Online (Sandbox Code Playgroud) Execution failed for task ':app:checkClassicGooglePlayDebugDuplicateClasses'.
> Could not resolve all files for configuration ':app:classicGooglePlayDebugRuntimeClasspath'.
> Failed to transform SaaS_TalkingDataSDK_Android_V5.0.0.jar to match attributes {artifactType=enumerated-runtime-classes, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
> Execution failed for EnumerateClassesTransform: /home/circleci/project/app/libs/SaaS_TalkingDataSDK_Android_V5.0.0.jar.
> zip END header not found
Run Code Online (Sandbox Code Playgroud)
我在具有以下配置的 Android 项目中收到此错误
build:gradle:7.0.4
并且android.useAndroidX=true android.enableJetifier=true在gradle.properties
我从 Git 中提取了一个在 Flutter 中制作的团队项目,由于某种原因,在构建应用程序时(按 Android Studio 中的绿色箭头并运行 main.dart),我收到以下消息:
What went wrong:
Execution failed for task ':biometric_storage:kaptGenerateStubsDebugKotlin'.
> Could not resolve all files for configuration ':biometric_storage:kapt'.
> Failed to transform moshi-1.13.0.jar (com.squareup.moshi:moshi:1.13.0) to match attributes {artifactType=processed-jar, org.gradle.category=library, org.gradle.dependency.bundling=external, org.gradle.jvm.environment=standard-jvm, org.gradle.jvm.version=8, org.gradle.libraryelements=jar, org.gradle.status=release, org.gradle.usage=java-runtime, org.jetbrains.kotlin.platform.type=jvm}.
> Execution failed for JetifyTransform: C:\Users\UserName\.gradle\caches\modules-2\files-2.1\com.squareup.moshi\moshi\1.13.0\da685586facab9eb5c4fb630ce248be14e7da21b\moshi-1.13.0.jar.
> Failed to transform 'C:\Users\UserName\.gradle\caches\modules-2\files-2.1\com.squareup.moshi\moshi\1.13.0\da685586facab9eb5c4fb630ce248be14e7da21b\moshi-1.13.0.jar' using Jetifier. Reason: Unsupported class file major version 60. (Run with --stacktrace for more details.)
Run Code Online (Sandbox Code Playgroud)
我的构建.gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies { …Run Code Online (Sandbox Code Playgroud) 我在我的应用程序 1 aar 和另一个 gradle 依赖项中使用两个库。我在构建发布版本时遇到此错误
Duplicate class a.a found in modules jetified-android-sdk-1.7.26-runtime (com.cashfree.pg:android-sdk:1.7.26) and jetified-adsdk-AN-1.15.16-runtime (adsdk-AN-1.15.16.aar)
Run Code Online (Sandbox Code Playgroud)
这是我的构建 gradle 应用程序级别
implementation 'com.cashfree.pg:android-sdk:1.7.26'
implementation files('libs/adsdk-AN-1.15.16.aar')
//Dependencies used by all payment modes
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.android.volley:volley:1.1.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
Run Code Online (Sandbox Code Playgroud)
无法理解这a.a门课
在迁移到Android X的过程中,tt似乎Jetifier工具将一些第三方库转换为RC版本(4.6版)。
| +--- com.facebook.android:facebook-common:4.34.0
| | | +--- com.facebook.android:facebook-core:4.34.0 (*)
| | | +--- com.google.zxing:core:3.3.0
| | | +--- androidx.legacy:legacy-support-v4:1.0.0-rc01
| | | | +--- androidx.core:core:1.0.0-rc01 -> 1.0.1 (*)
| | | | +--- androidx.media:media:1.0.0-rc01
| | | | | +--- androidx.annotation:annotation:1.0.0-rc01 -> 1.0.0
| | | | | +--- androidx.core:core:1.0.0-rc01 -> 1.0.1 (*)
| | | | | \--- androidx.versionedparcelable:versionedparcelable:1.0.0-rc01 -> 1.0.0 (*)
| | | | +--- androidx.legacy:legacy-support-core-utils:1.0.0-rc01 -> 1.0.0 (*)
| | | | +--- androidx.legacy:legacy-support-core-ui:1.0.0-rc01 …Run Code Online (Sandbox Code Playgroud) android android-studio android-jetpack androidx android-jetifier
android-jetifier ×12
android ×9
androidx ×5
gradle ×5
build ×1
build.gradle ×1
butterknife ×1
circleci ×1
flutter ×1
gradlew ×1
kapt ×1
kotlin ×1
moshi ×1
react-native ×1