用脚本秒开一个陌生的Android项目
来源:互联网 发布:皮卡超人升级数据 编辑:程序博客网 时间:2024/06/02 01:52
有时候逛Github看到好项目clone到本地,或者拿到一个别人的Android项目时,我们要在自己的电脑上打开这些项目。然而,因为AndroidStudio繁复的版本策略,直接打开这个项目可能会遇到以下症状:
- 自己电脑上的AndroidStudio跟别人项目的版本不一致,导致gradle插件版本对不上,需要下载。然而,我们苦逼的程序员要下载国外的东西,并不容易。(十分困难好吧)
- GradleWrapper版本不对,本地没有这个Gradle版本。这基本上是一些Android项目跑一天都打不开的原因了,Gradle文件大概七八十兆左右,如果没有FQ或者没一个好的VPN,你就慢慢等着吧。
- Android BuildTool 版本不对,这又是要下载的。
- Android SDK 版本不对,这一般出现在你电脑上没安装项目指定的平台,如: compileSdkVersion 26 如果SDK里没装Android O , 不好意思,也要下载。
- 没有某个特别的SupportLib,各SDK版本的Support库都有各种版本,我们其实只要用最新的就好了,没必要下载项目里指定的。
这么多奇奇怪怪的症状混杂在一起,很容易让你的AndroidStudio中毒身亡,无法响应。就算有VPN可以快速下载所有的版本,也没必要在自己的电脑里存放那么多重复的东西,保持最新版本就好了。所以我们一般都要改版本号,可能上述五点症状我们都需要修改,然而重复劳动是人类大忌,人生苦短,用脚本帮我们完成才是王道。
直接上干货:
- 到LocalizeAndroidProjectclone下整个项目(就两文件)。
- 定制 model.json 文件 ,介绍下其中的属性:
{ "gradleTool": "3.0.0-beta4", // 自然就是gradle插件 "mavenRepo": "~", // ~ 说明忽略这个属性, 你有可用的maven仓库地址时可以加到项目来 "distributionUrl": "https://services.gradle.org/distributions/gradle-4.1-all.zip", "compileSdkVersion": "25", "targetSdkVersion": "25", "buildToolsVersion": "26.0.1", // 这几个 见名知意 "supportVersion": "25.4.0" //Support库版本 支持替换compile|implementation|androidTestCompile|testImplementation关键字}
- 运行
python main.py [your_project_path]
- 愉快地用AndroidStudio打开这个项目。
小提示
- gradle文件贼大,用AS下载不知道下到猴年马月。可以到csdn上下载最新版本,直接在distributionUrl下写你下载的文件的路径,从此不担心翻墙下载问题!
- 可能有多个版本的AS共存,这时的gradle版本不一样,我们只需要创建多个model.json,用f参数传入。(如
-f modelas3.json
)
阅读全文
1 0
- 用脚本秒开一个陌生的Android项目
- 一个陌生女人的来信
- 《一个陌生女人的来信》
- 一个陌生女子的来信
- 一个陌生朋友的请求
- 《一个陌生女人的来信》
- 写给一个陌生的朋友
- 一个遥远的陌生电话
- Android 打造一个秒开的 Android App
- 一个带年月日时分秒选择的js脚本
- selenium2java写一个设置秒杀价的脚本
- 遇到陌生项目的解决思路
- 看《一个陌生女人的来信》感
- 《一个陌生女人的来信》台词
- 一个陌生的朋友__Web 2.0
- String:一个最熟悉的陌生类型
- 一位哲学家来到一个陌生的城市
- 为一个陌生的城市留下记号
- Android彻底组件化demo发布
- 大白话讲解EM算法
- qt学习:初级代码
- 考研英语——写作积累[背诵!](continuous updating...)
- maven-springmvc-mybatis整合配置
- 用脚本秒开一个陌生的Android项目
- jvm 内存dump、gc查看、线程死锁,jmap、jstack、jstat
- 2469:电池的寿命(4.6算法之贪心)
- 循环
- LeetCode556. Next Greater Element III
- Linux-centos下安装lvs+keepalived+nginx+tomcat
- OpenLayers3学习二:点标记的添加删除和修改(以类为接口)
- 线性表
- 从setTimeout到浏览器线程机制