Android Studio 增加了@androidx.annotation 和@android.support.annotation 问题 [英] Android Studio adds both @androidx.annotation and @android.support.annotation problem

查看:41
本文介绍了Android Studio 增加了@androidx.annotation 和@android.support.annotation 问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将 Android Studio 更新到了 3.2.0 版.

当我接受来自建议列表alt + enter的任何更改时.

  • 问题是 @androidx.annotation 自动创建的.
  • 因此建议方法有两个注释 @androidx.annotation.Nullableandroid.support.annotation.Nullable.
  • 我不想手动删除这个不需要的建议,那么我该怎么做才能只有 android.support.annotation?
  • 另外 androidx.annotation 包没有添加到我的应用程序中.我不想添加

    I updated Android Studio to version 3.2.0.

    When I accept any change from list of suggestion or alt + enter.

    • Problem is @androidx.annotation auto created.
    • Thus suggestions method have two annotation @androidx.annotation.Nullable and android.support.annotation.Nullable.
    • I don't want to manually remove this unwanted suggestion, so what can I do to have only android.support.annotation?
    • Also androidx.annotation package is not added in my app. and I don't want to add androidx.annotation.

    See example.

    import android.support.annotation.Nullable;
    import android.support.v7.app.AppCompatActivity;
    
    public class LoginActivity extends AppCompatActivity {
        @Override
        public void onCreate(@androidx.annotation.Nullable @Nullable Bundle savedInstanceState, @androidx.annotation.Nullable @Nullable PersistableBundle persistentState) {
            super.onCreate(savedInstanceState, persistentState);
        }
    }
    

    Is there some IDE setting to remove auto generation of androidx.annotation?

    Update

    I could get rid of this problem with migrating to androidx (from official doc), but I am not able to migrate all projects to androidx currently. So need a solution.

    解决方案

    AndroidX is the new extension libraries for backward compatibility support. In future new feature backward compatibility support will be addressed in AnddroidX. As stated in this blog https://android-developers.googleblog.com/2018/05/hello-world-androidx.html

    The stable release of 28.0.0 will be the final feature release packaged as >android.support. All subsequent feature releases will only be made available as >androidx-packaged artifacts.

    https://developer.android.com/topic/libraries/support-library/revisions

    Revision 28.0.0 Production (September 21, 2018)

    This is the stable release of Support Library 28.0.0 and is suitable for use >in production. This will be the last feature release under the >android.support packaging, and developers are encouraged to migrate to >AndroidX.

    Moving your app from android.support to androidx-packaged dependencies

    Refer to this link, https://developer.android.com/jetpack/androidx/migrate

    If you depend on a library that references the older Support Library, Android Studio will update that library to reference androidx instead via dependency translation. Dependency translation is automatically applied by the Android Gradle Plugin 3.2.0-alpha14, which rewrites bytecode and resources of JAR and AAR dependencies (and transitive dependencies) to reference the new androidx-packaged classes and artifacts. We will also provide a standalone translation tool as a JAR.

    So, In Step 1(dependency translation): In your gradle.properties file set the android.useAndroidX flag to true and the android.enableJetifier flag to true.

    android.useAndroidX=true
    android.enableJetifier=true
    

    in Step 2(source refactoring): With Android Studio 3.2 and higher, you can quickly migrate an existing project to use AndroidX by selecting Refactor > Migrate to AndroidX from the menu bar.

    这篇关于Android Studio 增加了@androidx.annotation 和@android.support.annotation 问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆