• Flutter 安装


    ArchLinux Java 15 安装 Flutter 并开启 Web 支持

    源里的没了,git 手动装吧。

    • # sudo pacman -S git unzip

    最好别用 JDK15 玩安卓,给自己找麻烦,乖乖用 8

    记得给 gradle 带上代理,要么就直接配 repository

    • 安装 android sdk # sudo pacman -S android-sdk android-sdk-build-tools android-sdk-platform-tools android-platform sudo chown -R seliote:seliote /opt/android-sdk
    • JDK 9+ 移除了部分 JEE 模块,包含 jaxb,所以得手动给加进 CLASSPATH 去才行,找到以下依赖,版本也注意一下:
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.istack</groupId>
        <artifactId>istack-commons-runtime</artifactId>
        <version>4.0.0</version>
    </dependency>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>3.0.0</version>
    </dependency>
    <!-- 这个不能用 3.x,会 Cannot invoke "javax.xml.bind.JAXBContext.createUnmarshaller()" because "context" is null -->
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.3</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-jxc</artifactId>
        <version>3.0.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-xjc</artifactId>
        <version>3.0.0</version>
    </dependency>
    

    上面下载的 JAR 包复制进 /opt/android-sdk/tools/lib 里,然后编辑以下 CLASSPATH# vim /opt/android-sdk/tools/bin/sdkmanager,找到 CLASSPATH 设置处,按照之前的样子把上面所有的 JAR 包一个一个加进去,不支持通配符

    • 环境变量 # sudo vim /etc/profile,不要以为有爬墙虎就能不用 flutter-io
    export ANDROID_HOME='/opt/android-sdk/'
    export no_proxy="localhost,127.0.0.1"
    export PUB_HOSTED_URL=https://pub.flutter-io.cn
    export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
    export CHROME_EXECUTABLE=/usr/bin/google-chrome-stable
    export PATH="$PATH:/opt/flutter/bin"
    
    • # cd /tmp/ 换个目录
    • # export http_proxy="http://localhost:8118" # export https_proxy="http://localhost:8118" 加上两个变量爬一下,不然太慢了
    • 没开 Web 就 clone stable,web 的用 beta # git clone https://github.com/flutter/flutter.git -b beta --depth 1 flutter
    • # sudo mv flutter /opt/ 移到 /opt 并改权限 # sudo chown -R seliote:seliote /opt/flutter
    • 得了,重启一下吧,也能 sourceexport,重启安心点。
    • # flutter doctor,如果开代理的话,这里对代理有要求,有的可能会报 failed to establish tunnel (503 Too many open connections),要改一下相关最大连接配置才行
    • 根据提示 # flutter doctor --android-licenses 全选 Y 就好
    • # flutter config --enable-web 开启 web 支持
    • # flutter config 看一下 web 有没有开
    • ~/.gradle/gradle.properties 加上代理,不然 build 卡死

    没用 AS,所以还要装一下模拟器,arch 的,感谢这位 gay hub 老哥的启发 GitHub

    • 安装模拟器 emluator:sudo pacman -Ss android-emulator
    • 查一下镜像:sdkmanager --list | grep system-images
    • 装个镜像:sdkmanager --install "system-images;android-29;default;x86" (这里好像得爬)
    • 创建模拟器:echo "no" | avdmanager --verbose create avd --force --name "android_10" --package "system-images;android-29;default;x86" --tag "default" --abi "x86",avdmanager 也要加上 CLASSPATH
    • 列出可用的模拟器:emulator -list-avds
    • 配置一下模拟器 vim ~/.android/avd/android_10.avd/config.ini
    
    skin.name=1080x1920
    hw.lcd.density=480
    hw.keyboard=yes
    
    • 启动模拟器:emulator @android_10

    真机的话 android-udev 即可

  • 相关阅读:
    ID的插入
    开发语言的选择
    象数据库一样连接EXCEL
    前端,你真的了解JavaScript吗?
    开源软件与自由软件
    在codeigniter中使用Cache_Lite来缓存
    使用Codeigniter的SMTP类发Email
    JavaScript变量和数据类型
    JavaScript的隐式声明和变量声明提升的总结
    ASCII和UNICODE编码以及UTF8,你懂的?
  • 原文地址:https://www.cnblogs.com/seliote/p/12388641.html
Copyright © 2020-2023  润新知