android studio 和eclipse都比较臃肿,bug一堆,个人都不喜欢用。但谷歌官方指定as(android studio)我也就开始了as上的开发。我一直被依赖问题整的si去活来,今天在编译 https://github.com/4455jkjh/Apktool-android,一个安卓上的比较强大的反bian译软件,我的as是最新版,变易又遇见了在这个问题,在此记录一下排错技巧。本人不是专业安卓程序员,难免描述出错,不对或不妥的地方请大佬在评论区批评指正。
要想理解该文就要简单说说as是如何导入并编译一个软件的app出来的,首先是导入在github下载的文件根目录项目,导入后as会自动的用gradle同步该项目依赖等等环境问题,这一步其实就是在依据配置文件自动还原出作者在开发时所用到的环境。有时不会自动开启,需要手动同步一下。是不是在同步看左下角有个进度条,点击进度条查看详情,没有就是没有自动同步。在同步完成后会有提示成功同步。之后就是编译apk阶段,注意如果没有同步成功是不会出现编译apk的按钮的,这点很重要。
编译时发生的依赖报错有两种可能,一种是网络问题,这个也是主要原因。身处郭内,有一我称之为柏林墙的东西。只要你想出郭访问外。面的世界,就要接受检差,这一点我可以理解,不理解的是为什么一个纯技术类的网站,也要该动作。总而言之,这个东东会jie断你正常的访问连接,或者故意拖延你的访问链接造成网络超时,致使你无。法·正·常·上·网,可能还有其他手段,我不得而知。要想突破柏林,就要给电脑设置带·里,传统的方法是npv技术,还有目前最流行的s5r技术,我之前介绍过,设置起来比较方便。s5r的接点用百毒,谷鸽都可以瘦到。今天我讲的是as如何突破柏林,首先确保s5r软件使用正常,接点高速稳定。然后在s5r软件设置里有个允许本地袋里打开,端口选择默认即可。接下来打开as的全局设置,file-》setting,找 界面与行为 下的 系统设置 下的 http ,选中手动配置,选http,地址填入127.0.0.1,端口1080,点击应用和确定。然后在该设置界面下有个按钮叫 检茶链接,填入一个被诅咒的链接,测试显示通过就说明成功了。第二种是因为依赖太旧或者源太旧。一个程序看似依赖一个库但这个库就有可能依赖一堆东西,我这个app就依赖classpath ‘com.android.tools.build:gradle:1. ‘,意思是gradle的1.x版本过于陈旧且使用的源是jcentral()这个源里的gradle也太旧找不到我要的gradle。所以打算离线下载个gradle的最新版本,注意为什么要离线的方式下载,因为柏林太meng,及时有s软件也无法下载该软件,必须这样做,下载安装好后让该app依赖这个版本。在把原来的旧且不稳定的源改为国内阿里源。这里要修改两个文件,我是这样配置的:
build.gradle文件,修改的方法如下,你可以照着我的修改,但无需一模一样:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
//jcenter()
maven { url ‘https://maven.aliyun.com/repository/public/‘ }
maven { url ‘https://maven.aliyun.com/repository/jcenter/‘}
maven { url ‘https://maven.aliyun.com/repository/google/‘}
mavenLocal()
mavenCentral()
google()
}
dependencies {
classpath ‘com.android.tools.build:gradle:3.5.3‘
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
//jcenter()
maven { url ‘https://maven.aliyun.com/repository/public/‘ }
maven { url ‘https://maven.aliyun.com/repository/jcenter/‘}
maven { url ‘https://maven.aliyun.com/repository/google/‘}
mavenLocal()
mavenCentral()
}
}
在gradle-wapper.properties修改成最新的gradle
distributionUrl=https://services.gradle.org/distributions/gradle-5.4.1-all.zip
这两个文件修改好后就可以重建依赖关系了,在 文件 -》用gradle同步项目选项 点击它就开始自动同步了。我这个app这两个问题都遇到了,照做同步完成后就解决了。还有这个同步只是在第一次是非常慢,在同步成功的情况下第二次打开就会非常快。