Gradle
使用 Gradle 来管理依赖,由于国内的网络环境,所以建议换成阿里的 Maven 仓库:
repositories {
maven { url "https://maven.aliyun.com/repository/google" }
maven { url "https://maven.aliyun.com/repository/jcenter" }
google()
jcenter()
}
这些个问题是在是太多了,干脆一不做二不休,直接下载依赖到本地,就不用通过网络下载依赖,并且这样速度也比较快。谷歌官方提供了稳定的依赖。下载地址为offline-gmaven-stable
使用方法很简单,作为 Windows 用户,你需要在将下载后的文件解压到下面 👇目录 %USER_HOME%/.android/manual-offline-m2/
,这些目录本身不存在,你需要创建它。作为 Mac 和 Linux 的用户,你需要将下载的文件解压到 ~/.android/manual-offline-m2/
,当然你可以使用命令 mkdir -p ~/.android/manual-offline-m2/
来创建这样的目录。
升级离线组件的时候,你需要遵循下面的步骤:
- 删除
manual-offline-m2
目录里面的所有内容 - 重新下载
offline-gmaven-stable
- 将离线组件里面的内容解压到
manual-offline-m2
里面
按照上面的步骤来,你会的得到下面这样的结果。
接下来就是在我们的项目里面使用这些离线组件了,其实很简单的。
将下面的脚本保存在一个名为 offline.gradle
的文件里面:
def reposDir = new File(System.properties['user.home'], ".android/manual-offline-m2")
def repos = new ArrayList()
reposDir.eachDir {repos.add(it) }
repos.sort()
allprojects {
buildscript {
repositories {
for (repo in repos) {
maven {
name = "injected_offline_${repo.name}"
url = repo.toURI().toURL()
}
}
}
}
repositories {
for (repo in repos) {
maven {
name = "injected_offline_${repo.name}"
url = repo.toURI().toURL()
}
}
}
}
Windows 用户将这个文件保存的路径为 %USER_HOME%/.gradle/init.d/offline.gradle
,mac 和 Linux 用户保存路径为 ~/.gradle/init.d/offline.gradle
可以通过下面的方法检验离线组件是否工作:
buildscript {
repositories {
// Hide these repositories to test your build against
// the offline components. You can include them again after
// you've confirmed that your project builds ‘offline’.
// google()
// jcenter()
}
...
}
allprojects {
repositories {
// google()
// jcenter()
}
...
}
:72: :84: 哈哈哈
遇到这种 Zip Header not found
这种问题,根据 StackOverflow
上面的说法,首先我们得重新下载 Gradle
,下载地址,然后关闭 IDE,同时删除掉 ~/.gradle/wrapper/dists/
里面的东西,诸多原因,比如 系统故障
、 网络连接丢失
等等。完成这几步之后,就是在 IDE 里面指定本地 Gradle
的路径了。
因为每次创建项目都会恢复默认的设置,所以我建议更改一下 IDEA 的默认设置。
不过这里面并没有设置 Gradle Home 的选项。但是还是建议全局设置下国内的 maven 仓库。
allprojects {
repositories {
mavenLocal()
maven {
name 'aliyun_google'
url "https://maven.aliyun.com/repository/google"
}
maven {
name 'aliyun_jcenter'
url "https://maven.aliyun.com/repository/jcenter"
}
}
}
复制上面的内容,然后执行 pbpaste > ~/.gradle/init.gradle
开发常用
在安卓应用程序开发方面,我最常用的依赖有一些:
implementation 'com.squareup.okhttp3:okhttp:4.4.0'
implementation 'com.google.android:flexbox:2.0.1'
其中flex类似 Web 上面的 flex 布局,okhttp是用来发起 http 请求的。
常用 ADB 命令
- 隐藏底部虚拟按键:
adb shell settings put global policy_control immersive.navigation=*
- 隐藏状态栏:
adb shell settings put global policy_control immersive.status=*
- 取消设置:
adb shell settings put global policy_control null
- 同时隐藏底部虚拟按键和状态栏:
adb shell settings put global policy_control immersive.full=*
- 安装安装包:
adb install $PATH_OF_PACKAGE
通过命令打开 AVD 安卓虚拟机
emulator -list-avds
emulator -avd $name