小敏的博客


  • 首页

  • 分类

  • 标签

  • 归档

  • 关于

运维-Magisk Overlayfs 解锁system分区可读写

发表于 2025-03-15 | 分类于 IT , 运维 | | 阅读次数:

运维-Oracle JDK 17 安装与配置步骤

发表于 2025-03-14 | 分类于 IT , 运维 | | 阅读次数:

以下是针对 Oracle JDK 17 的安装验证与环境配置指南:


Oracle JDK 17 安装与配置步骤

1. 验证 JDK 安装

Windows

  1. 打开命令提示符(CMD):
    1
    java -version
    • 正确输出应显示:
      1
      2
      3
      java version "17.0.8" 2023-07-18 LTS
      Java(TM) SE Runtime Environment (build 17.0.8+11-LTS-211)
      Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+11-LTS-211, mixed mode, sharing)

macOS/Linux

  1. 打开终端:
    1
    java -version
    • 正确输出应包含 Java(TM) SE Runtime Environment 和版本号 17.x.x。

2. 配置环境变量

Windows

  1. 设置 JAVA_HOME:

    • 右键 此电脑 → 属性 → 高级系统设置 → 环境变量 → 系统变量 → 新建:
      • 变量名: JAVA_HOME
      • 变量值: C:\Program Files\Java\jdk-17(根据实际安装路径调整)
  2. 更新 Path:

    • 编辑 系统变量 → Path → 新建,添加:
      %JAVA_HOME%\bin

macOS/Linux

  1. 编辑 Shell 配置文件(如 ~/.zshrc 或 ~/.bashrc):
    1
    2
    3
    # 设置 Oracle JDK 17 路径(示例路径)
    export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
    export PATH="$JAVA_HOME/bin:$PATH"
  2. 生效配置:
    1
    source ~/.zshrc  # 或 source ~/.bashrc

3. 常见问题与解决

问题 1:java -version 仍显示旧版本

  • 原因:系统默认 Java 未指向 JDK 17。
  • 解决:
    • Windows:检查 Path 变量中 %JAVA_HOME%\bin 是否在旧版本路径之前。
    • macOS/Linux:
      1
      2
      3
      4
      5
      # 查看所有 Java 版本路径
      /usr/libexec/java_home -V

      # 临时切换版本
      export JAVA_HOME=$(/usr/libexec/java_home -v 17)

问题 2:IDE(如 IntelliJ/Eclipse)无法识别 JDK 17

  • 解决:
    1. IntelliJ:
      File → Project Structure → SDKs → ➕ → JDK → 选择 JDK 17 安装路径。
    2. Eclipse:
      Window → Preferences → Java → Installed JREs → Add → Standard VM → 选择 JDK 17 路径。

问题 3:权限不足(macOS/Linux)

  • 现象:安装或执行时提示 Permission denied。
  • 解决:
    1
    2
    # 修改 JDK 目录权限
    sudo chmod -R 755 /Library/Java/JavaVirtualMachines/jdk-17.jdk

4. 多版本 JDK 管理

Windows

  • 在环境变量中直接修改 JAVA_HOME 和 Path 以切换版本。

macOS/Linux

  • 使用 jenv 工具:
    1
    2
    3
    4
    5
    6
    7
    8
    # 安装 jenv
    brew install jenv

    # 添加 JDK 17
    jenv add /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home

    # 设置全局默认版本
    jenv global 17

5. 注意事项

  1. Oracle JDK 许可证
    • 商用场景需遵守 Oracle JDK 许可协议。
  2. Android 开发兼容性
    • Android Studio 默认使用 OpenJDK,但 Oracle JDK 17 完全兼容。
  3. 卸载旧版本
    • Windows:控制面板 → 卸载程序 → 删除旧版 Java。
    • macOS:
      1
      sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-1.8.jdk

操作验证流程图

1
安装 JDK 17 → 配置环境变量 → 验证版本 → 配置 IDE → 解决冲突(如有)

通过以上步骤,可确保 Oracle JDK 17 正确安装并集成到开发环境中。

推荐文章

  • java期末总复习资料
  • oracle期末复习资料 A
  • Oracle期末复习自测题

运维-Android 6.0 (API 23) 模拟器配置全记录

发表于 2025-03-14 | 分类于 IT , 运维 | | 阅读次数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# macOS 配置 Android 6.0 模拟器全流程指南(Oracle JDK 17 专版)

---

## 一、环境准备

### 1. 安装 Oracle JDK 17
#### ▶ 安装步骤
1. **下载安装包**
访问 [Oracle JDK 17 官方下载页](https://www.oracle.com/java/technologies/downloads/#java17-mac)
✅ 选择 macOS x64 DMG 安装包(需登录 Oracle 账号)

2. **安装 JDK**
```bash
# 双击下载的 .dmg 文件,按向导完成安装
# 默认安装路径:
/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
  1. 配置环境变量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 编辑 Shell 配置文件(~/.zshrc 或 ~/.bash_profile)
    nano ~/.zshrc

    # 添加以下内容
    export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
    export PATH="$JAVA_HOME/bin:$PATH"

    # 生效配置
    source ~/.zshrc
  2. 验证安装

    1
    2
    3
    4
    java -version
    # 正确输出应包含:
    # Java(TM) SE Runtime Environment (build 17.0.8+11-LTS-211)
    # Java HotSpot(TM) 64-Bit Server VM (build 17.0.8+11-LTS-211, mixed mode, sharing)

2. 配置 Android SDK 环境

1
2
3
4
5
6
# 设置 SDK 默认路径
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
export PATH=$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/emulator:$PATH

# 验证路径配置
echo $ANDROID_SDK_ROOT # 应输出 /Users/你的用户名/Library/Android/sdk

二、Android 6.0 模拟器配置

1. 安装必需组件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 安装 Android 6.0 (API 23) 系统镜像
sdkmanager "system-images;android-23;google_apis;x86"
# 安装 Android 8.1 (API 27) 系统镜像
sdkmanager "system-images;android-27;google_apis_playstore;x86"

#
sdkmanager --list
sdkmanager "system-images;android-27;google_apis;arm64-v8a"

# 安装命令行工具
sdkmanager "platform-tools" "emulator"

# 验证组件安装
ls $ANDROID_SDK_ROOT/system-images/android-23/google_apis/x86
# 应包含 system.img、userdata.img 等文件

2. 创建 Nexus 5 模拟器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 查看可用设备列表(若无 Nexus_5 则跳过 --device 参数)
avdmanager list device

# 查看AVD列表
avdmanager list avd

# 创建 AVD(自动选择默认设备)
avdmanager create avd --name Nexus5_Android6 --package "system-images;android-23;google_apis;x86"

avdmanager create avd --name Android8_1_apis --package "system-images;android-27;google_apis;x86"
avdmanager create avd --name Android8_1_playstore --package "system-images;android-27;google_apis_playstore;x86"

# 删除 AVD
emulator -delete avd Android6_Emulator

# 手动调整分辨率(Nexus 5 默认 1080x1920)
sed -i '' 's/hw.lcd.height=.*/hw.lcd.height=1920/' ~/.android/avd/Nexus5_Android6.avd/config.ini
sed -i '' 's/hw.lcd.width=.*/hw.lcd.width=1080/' ~/.android/avd/Nexus5_Android6.avd/config.ini

3. 启动与验证模拟器

1
2
3
4
5
6
7
8
9
10
# 基础启动命令
emulator -avd Android8_1_apis -no-snapshot-load -writable-system
emulator -avd Android8_1_playstore -no-snapshot-load -memory 2048 -writable-system -gpu swiftshader

# 高级启动参数(可选)
emulator -avd Nexus5_Android6 -no-boot-anim -memory 2048 -gpu swiftshader

# 验证设备连接
adb devices
# 输出示例:emulator-5554 device

三、关键问题解决方案

1. No device found matching --device Nexus_5

原因分析

  • SDK 预设设备名称已更新,Nexus_5 不在默认列表中

解决方案

1
2
3
4
5
6
7
8
9
10
# 方法 1:不指定设备类型
avdmanager create avd \
--name Nexus5_Android6 \
--package "system-images;android-23;google_apis;x86"

# 方法 2:使用相近设备(如 Nexus_5X)
avdmanager create avd \
--name Nexus5X_Android6 \
--package "system-images;android-23;google_apis;x86" \
--device "Nexus_5X"

2. This tool requires JDK 17 or later

原因分析

  • 系统默认 JDK 为旧版本(如 JDK 1.8)

解决方案

1
2
3
4
5
6
# 强制指定 Oracle JDK 17 路径
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"
export PATH="$JAVA_HOME/bin:$PATH"

# 永久生效配置(添加到 Shell 配置文件)
echo 'export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"' >> ~/.zshrc

3. 模拟器启动黑屏/卡顿

解决方案

1
2
3
4
5
6
# 启用软件渲染模式
emulator -avd Nexus5_Android6 -gpu swiftshader

# 安装硬件加速驱动(HAXM)
sdkmanager "extras;intel;Hardware_Accelerated_Execution_Manager"
# 安装完成后重启终端

四、高级操作指南

1. 获取 Root 权限

1
2
3
4
5
6
7
8
# 启动时挂载可写系统分区
emulator -avd Nexus5_Android6 -writable-system

# 进入 adb shell 执行 root 操作
adb root # 重启 adbd 为 root 模式
adb remount # 挂载系统分区为可读写
adb shell # 进入设备 Shell
# 验证 root 权限:whoami 应输出 root

2. 自定义硬件参数

1
2
3
4
5
6
7
# 修改 AVD 配置文件
nano ~/.android/avd/Nexus5_Android6.avd/config.ini

# 常用参数示例
hw.ramSize=2048 # 内存大小(MB)
disk.dataPartition.size=2G # 数据分区大小
hw.gpu.enabled=yes # 强制启用 GPU 加速

五、注意事项

  1. Oracle JDK 商业许可
    企业生产环境需遵守 Oracle 商业许可协议,个人开发/测试可免费使用。

  2. 多版本 JDK 管理

    1
    2
    3
    4
    # 查看所有已安装 JDK
    /usr/libexec/java_home -V
    # 输出示例:
    # 17.0.8 (x86_64) "Oracle Corporation" - "Java SE 17.0.8" /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
  3. 备份与恢复

    • AVD 配置文件位置:~/.android/avd/
    • 定期备份可快速恢复开发环境

推荐文章

  • 用Gmail通讯录作为Android2.1手机联系人
  • Android手机屏幕录像方法
  • 教你制作定制版安卓系统(Android ROM)

MAC-brew安装Python配置

发表于 2025-02-22 | 分类于 IT , MAC | | 阅读次数:

1. 安装 python

1
brew install python

2. 配置环境变量.zshrc

1
export PATH="/usr/local/opt/python@3.13/libexec/bin:$PATH"

推荐文章

  • 如何获取文章标题
  • ClearUrl设计
  • 理解Python String Intern机制与源码调式分析

Python-uiautomator2自动化工具的下载与安装

发表于 2025-02-22 | 分类于 IT , Python | | 阅读次数:

前置操作:MAC-brew安装Python配置

1. 安装uiautomator2

1
pip install -U uiautomator2

pip安装报错error: externally-managed-environment

通过which python3找到对应的目录,进入目录后,删除EXTERNALLY-MANAGED这个文件即可

2. 安装手机端所需的程序atx-agent

1
python -m uiautomator2 init

3. 安装weditor

脚本编写辅助工具,可以快速识别手机上的元素、查看组件信息,并且支持通过Web 界面直接操作手机,以及生成UIAutomator2代码、词试代码,方便测试人员使用

1
pip install -U weditor

启动

1
python -m weditor

其他

参考:https://www.cnblogs.com/gancuimian/p/16725664.html

MAC-npm 查看包的所有版本号

发表于 2025-02-22 | 分类于 IT , MAC | | 阅读次数:
  • 以hexo版本为例
1
npm view hexo versions
  • 查到版本号后,安装指定版本
1
npm install hexo@7.3.0

推荐文章

  • MAC-nodejs的版本管理工具教程
  • SemVer — 语义化的版本管理策略[译]
  • node-sass 离线手动安装的方法

MAC-nodejs的版本管理工具教程

发表于 2025-02-22 | 分类于 IT , MAC | | 阅读次数:

MAC-nodejs的版本管理工具教程

1. 删除现有node

1
2
3
4
5
6
7
8
9
brew uninstall --ignore-dependencies node 
brew uninstall --force node

sudo rm -rf /usr/local/lib/node_modules
sudo rm -rf /usr/local/include/node

sudo rm /usr/local/bin/node
sudo rm /usr/local/bin/npm
sudo rm /usr/local/bin/npx

如果你在 .bash_profile、.zshrc、.bashrc 或其他 shell 配置文件中设置了与 Node.js 相关的环境变量,你需要编辑这些文件并移除或注释掉这些变量。

验证卸载

1
2
node -v
npm -v

2. mac安装nvm

1
2
3
4
5
6
7
8
9
brew install nvm
mkdir ~/.nvm

- 配置环境

# nvm 切换和管理node版本
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion

3. 查看nodejs版本

1
nvm ls

4. 切换nodejs版本

1
nvm install 14

5. 使用nodejs版本

1
nvm use 18

5. 切换默认的版本号

1
nvm alias default v14.21.3   

推荐文章

  • MAC-npm 查看包的所有版本号
  • SemVer — 语义化的版本管理策略[译]
  • node-sass 离线手动安装的方法

技术-tiktok 视频下载教程

发表于 2025-02-22 | 分类于 IT , Hecker | | 阅读次数:

视频下载至本地

1
2
3
4
5
// 单个视频下载至本地
yt-dlp -o "%(title)s.%(ext)s" "https://www.tiktok.com/@xxxxxx/video/111111111"

// 用户下的所有视频下载至本地
yt-dlp --extractor-args "tiktok:user_agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36" --no-warnings --download-archive downloaded.txt --concurrent-fragments 3 --embed-thumbnail --merge-output-format mp4 -o "%(uploader)s/%(title)s.%(ext)s" "https://www.tiktok.com/@xxxxxx"

推荐文章

  • Youtube上最多人观看的讲座-哈佛哲学课:何为正义?

php-上传文件大小限制

发表于 2024-06-17 | 分类于 IT , 开发 | | 阅读次数:

报错信息

413 Request Entity Too Large

解决方法

修改 php 的配置文件 /etc/php.ini

1
2
upload_max_filesize = 20M  
post_max_size = 20M

修改 Nginx 的配置文件

1
2
3
4
5
http {  
...
client_max_body_size 20m;
...
}

重启 Nginx 服务和 php-fpm 服务即可。

推荐文章

  • 运维-Homesead php扩展php-mcrypt 安装
  • 运维-yum安裝php56, php73, php74, php80多版本共存
  • php-记一次服务器部署问题
  • ThinKPHP学习笔记-2
  • 中级PHPer对初学者可能遇见问题的解答
  • PHP函数setcookie写入重名cookie

mysql-创建用户并设置只读权限

发表于 2024-04-17 | | 阅读次数:
  • 首先查看mysql中所有的用户

SELECT user,host FROM mysql.user;

  • 查看指定用户的权限情况

SELECT * FROM mysql.user WHERE user=’root’

  • 创建一个用户

CREATE USER ‘用户名‘@’%’ IDENTIFIED BY ‘密码’;

  • 给用户赋予只读权限。数据库名.* (代表只读那个数据库.后的是表只读那个表*代表所有表)

GRANT SELECT ON 数据库名.* TO ‘用户名‘@’%’;

  • 刷新权限

FLUSH PRIVILEGES;

12…11<i class="fa fa-angle-right"></i>

106 日志
15 分类
173 标签
GitHub E-Mail
友情链接
  • Google
  • Twitter
  • FB Page
  • VK Group
  • StackOverflow
  • YouTube
  • Instagram
© 2018 — 2025 小敏-mingo
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4
本站总访问量次 本站访客数次