加入收藏 | 设为首页 | 会员中心 | 我要投稿 站长网 (https://www.0379zz.com/)- 科技、边缘计算、物联网、开发、运营!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Windows+Android开发环境搭建:绕过权限陷阱的站点配置实战

发布时间:2026-11-12 11:20:41 所属栏目:Windows 来源:DaWei
导读:  雨刷在响,左边那片刮不干净,得用手扶着支架——手机支架松了三年,换过两次胶,第三次懒得弄,就让它歪着。导航又绕到南湖路那边去了,我早把那个红点当吉祥物供着,它爱走哪走哪,反正油钱够就不错了。  去年九月份,跟老张在

  雨刷在响,左边那片刮不干净,得用手扶着支架——手机支架松了三年,换过两次胶,第三次懒得弄,就让它歪着。导航又绕到南湖路那边去了,我早把那个红点当吉祥物供着,它爱走哪走哪,反正油钱够就不错了。


  去年九月份,跟老张在东山口那个旧货市场门口蹲着装SDK,他啃着泡面,塑料叉子折了三根,最后拿牙咬开zip包。我说“这Android Studio怎么老弹UAC窗口”,他头也不抬:“你当Windows是滴滴后台?它认你是车主,不认你写的代码。”


  我原以为关掉UAC、以管理员身份运行、把项目挪进C:\\Users\\Public就行。结果build一跑,Gradle卡在‘Configuring’,八分钟不动,日志里飘着一行小字:`Access is denied. Failed to create symbolic link.` 我抄起键盘想砸,手悬在半空,看见后视镜里自己眼圈发青——上个月刚陪小周修完他那台蓝屏十七次的Win11开发机,主板没坏,驱动没丢,就是Android SDK路径里有个空格,他愣是写了三个月的绝对路径硬编码。


  服务区那只野猫蹲在充电桩旁边舔爪,我停车去便利店买了瓶冰水,回来时老张已经用adb shell连上模拟器了,他手指在键盘上跳得像敲架子鼓,嘴里念叨:“不是权限不够,是权限太碎。”——他后来教我改hosts、建符号链接、手动chown(对,Windows上用wsl2搞chown),全靠他自己翻GitHub上一个被star 12次的冷门repo,作者ID叫“dokidoki_97”,头像是一张过期地铁票。


  车厢里有股柴油味混着陈年咖啡渍,我边听歌单第38首《路灯下的小姑娘》边解压NDK-r25b,解到一半发现文件夹名字带中文“安卓工具链_v2”,立刻删了重下。不是怕乱码,是怕某天某个gradle插件在`file.exists()`里栽个跟头,再往上报错堆栈里塞句英文“Permission denied: \\\\?\\C:\\…”,然后你就得翻三页Stack Overflow,第一页全是“Run as Administrator”,第二页教你禁用UAC,第三页才有人弱弱说一句:“别放Program Files里。”


  前两天超时扣了三百六,就在机场高速那段,调度喊我绕北环接单,我没看实时路况,直接钻进去,结果堵了四十一分钟。后视镜里映着我盯着电脑右下角那个跳动的小绿点——Android Emulator正在后台占着47%的CPU。我骂了一句,但没关它。你知道为啥吗?因为关了它,下回启动要重新加载OpenGL缓存,光是“waiting for target device”就要一分二十秒。那会儿我就想:咱这行哪有什么稳定环境,全是拿时间换的喘息机会。系统在赌你忍耐阈值,你在赌下个补丁什么时候来。


  阿哲跟我跑同一条线,他专做金融类App的热更新模块,在宝安西乡租的出租屋,阳台改成了服务器架,三台旧笔记本叠着跑Jenkins从不关机。有回他给我看logcat输出——一个Android应用在华为Mate50上反复崩溃,错误码是`java.lang.SecurityException: Permission denied (missing INTERNET permission)`,但他manifest里明明写了。最后查出来是华为EMUI把``自动折叠进“优化后台权限”,得手动去设置里打开。他苦笑:“我们搭环境,不是搭楼,是撬锁。锁还分国产、美产、开源定制款。”


  我试过用PowerShell写脚本自动修复权限,写了七版,第五版跑通,第七版被公司IT策略封杀——他们扫描到`Set-ExecutionPolicy Bypass`就报警。后来我在bat里藏了段VBS,伪装成“清理临时文件”的批处理,骗过策略中心。干这事时,我一边按着Shift+右键调出“在此处打开Powershell窗口”,一边想起大学时老师讲“操作系统隔离是铁律”,我点头记笔记。现在我天天绕开它,还绕得挺熟。


  不确定是不是微软最近改了UAC的触发策略,还是Android Gradle Plugin 8.3.1偷偷加了NTFS硬链接检测——反正我现在习惯把整个android-sdk放在D:\\dev\\android,不用路径里的空格、不用中文、不挂载网络驱动器、不放进OneDrive同步区。至于为什么非得这么做?我说不清。就像我不明白为啥同样是“权限拒绝”,有的报错带stack trace,有的只在终端闪一下就消失,像雨刷划过玻璃那道水痕,看得见,留不住。


文章配图,仅供参考

  上个月小周辞职去成都了,走之前把他那台装了WSL2+Docker+Flutter的二手XPS送我,硬盘分区表已经错乱两次,但他留了张便签贴在散热口上:“别格盘。里面的.bash_history里记着所有坑。”我照着打了一遍,发现第三十七行写着:“win10 22H2+Android NDK r23c,/bin/sh 调用mktemp会失败,改用mktemp -d --suffix=.tmp”。我照做了,确实不崩了。可两天后,同一台机器装了r25b,又崩——这次是chmod +x 权限没透传进wsl2的ext4子系统里。我重装了一遍,又崩。最后我放弃,把编译任务扔进了GitHub Actions,本地只留debug用的模拟器。活下来的方式,不一定是赢,有时候只是换个姿势跪着接单。


  优胜劣汰?不是谁代码写得漂亮就赢。是你摔进权限坑里三次之后,还敢把gradlew.bat的属性勾掉“只读”,再对着UAC弹窗点五次“是”,眼睛不眨。是阿哲的Jenkins半夜吐出一行红字,他睡到一半爬起来连远程桌面,边输命令边嚼冷掉的肠粉。是我把hosts文件改成只读,再手动改回可写,就为让Android Studio相信“localhost是可信的”,哪怕我知道它根本不看那个文件。


  导航刚提示“您已偏离路线”,声音很温柔,像劝人回头。我摸了摸方向盘,没切路线。车窗外天快黑了,远处信号塔亮起两盏灯,一黄一红。后面那辆大货车按了两下喇叭,我点了下刹车,让他超。他过去时,副驾摇下车窗,朝我比了个大拇指——我也回了,没说话。柴油味更重了,雨刷还在响,左边那片,依旧刮不干净。

(编辑:站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章