微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nix Flake:如何接受 Android SDK 许可

如何解决Nix Flake:如何接受 Android SDK 许可

我正在尝试使用 nix flakes 进行 android 开发。

这是我的 flake.nix:

{
  description = "test";
  outputs = { self,nixpkgs }: {
    packages.x86_64-linux.hello = nixpkgs.legacyPackages.x86_64-linux.hello;
    devShell.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.mkShell {
      buildInputs = [
        nixpkgs.legacyPackages.x86_64-linux.androidenv.androidPkgs_9_0.androidsdk
      ];
    };
  };
}

运行 nix develop 给了我这样的信息:

       You must accept the following licenses:
         - android-sdk-license

       by setting nixpkgs config option 'android_sdk.accept_license = true;'.

在使用 flakes 时如何将此选项传递给 nixpkgs

解决方法

legacyPackages 不允许您通过 config。你必须自己打电话给 Nixpkgs:

outputs = { self,nixpkgs,... }:
  let pkgs = import nixpkgs {
        system = "x86_64-linux";
        config = {
          android_sdk.accept_license = true;
        };
  };
  in { /* ... */ pkgs.androidenv.androidPkgs_9_0.androidsdk
# ...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。