代码之家  ›  专栏  ›  技术社区  ›  Khemraj Sharma

Android Studio同时添加了这两个功能@androidx.0注释以及@android.support.annotation问题

  •  11
  • Khemraj Sharma  · 技术社区  · 7 年前

    我把androidstudio更新到了3.2.0版本。

    建议清单 alt+enter键 .

    • 问题是 @androidx.annotation 自动创建。
    • @androidx.annotation.Nullable android.support.annotation.Nullable .
    • android.support.annotation ?
    • androidx.annotation 包未添加到我的应用程序中。我不想补充 androidx.annotation .

    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);
        }
    }
    

    是否有一些IDE设置来删除自动生成的 ?

    更新

    我可以通过迁移到 androidx ( from official doc ),但我无法将所有项目迁移到 安卓利德

    5 回复  |  直到 5 年前
        1
  •  13
  •   Community CDub    5 年前

    AndroidX是支持向后兼容的新扩展库。在未来,AnddroidX将提供新的特性向后兼容性支持。如本博客所述 https://android-developers.googleblog.com/2018/05/hello-world-androidx.html

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

    修订版28.0.0生产 (2018年9月21日)

    从移动应用程序android.support支持到androidx打包的依赖项

    请参阅此链接, https://developer.android.com/jetpack/androidx/migrate

    所以,在 步骤1(依赖项转换): android.useAndroidX 标记为true和 android.enableJetifier启用程序

    android.useAndroidX=true
    android.enableJetifier=true
    

    在里面 步骤2(源代码重构): 使用androidstudio3.2及更高版本,您可以通过从菜单栏中选择Refactor>migrate to AndroidX,快速地将现有项目迁移到AndroidX。

    Refactor to Androidx from menu

        2
  •  5
  •   Ben P.    7 年前

    androidstudio有一个首选项“Exclude from import and completion”,您可以使用它来抑制 androidx

    enter image description here

    例如,在这个截图中,我添加了 java.time org.threeten.bp.LocalDate 但从来没有 java.time.LocalDate

    你应该可以添加 androidx.annotation 来解决你的问题。

        3
  •  4
  •   Itiel Maimon    6 年前

    annotationProcessor 'androidx.annotation:annotation:1.1.0' build.gradle(Module: app) 文件。

        4
  •  3
  •   Nick Cardoso    7 年前

    Android Studio只能导入包含在类路径中的文件。这包括Androidx库——谢天谢地,如果这些类不存在,Studio不会推荐它们(这就是为什么我们其他人在项目中看不到这个问题)。

    androidx.annotation.NonNull

    com.android.support:support-annotations androidx.annotation:annotation:1.0.0 根据 migration guide

    注意:如果您想坚持支持注释,那么最新和最好的版本是28 mentioned here

        5
  •  1
  •   ellem    6 年前

    onCreateView() @androidx.annotation.Nullable @Nullable 由Android Studio自动添加到方法中(没有提示,可能选择导入)。唯一自动添加的批注导入是 import android.support.annotation.Nullable;

    如果你不想 migrate to AndroidX

    • 手动删除所有 注释,只保留原始 @可为空的 注释。

    • File > Invalidate Caches / Restart

    @可为空的

        6
  •  0
  •   Fung    7 年前

    如合同上所述 support library release note .

    这是支持库28.0.0的稳定版本,非常适合 android.support支持打包,并鼓励开发人员迁移到 安德洛伊德。

    您仍然可以使用支持的类路径。(记得打扫和建造)

    (记住,不是两者都有)

        7
  •  0
  •   PublicStringName    6 年前

    每个人都在谈论如何向构建.gridle文件,如果这是伟大的工作,对我来说,它从来没有采取,直到我改变了实际的导入清单(API 28)和改变他们从。。。

    导入android.support.annotation.可为空;

    -至-

    导入androidx.annotation.Nullable可为空;

    Fragment、FragmentManager、DialogueFragment和许多其他的例子也是如此。我希望这能帮助像我一样受苦的人!