赞
踩
小米便签的配置编译需要在JDK8上运行,而Sonarqube的运行需要在JDK12。
由于Sonarqube需要运行bat,会使用到默认的JAVA目录,所以只需要在配置Android Studio时候JDK目录改为JDK8的目录即可。
参考 https://blog.csdn.net/siwuxie095/article/details/53431818
注意按照指引把SDK和gradle也安装好。由于前期大量工作中缺失各种文件,于是我把所有的插件都安装了,以避免错误。
gradle是第一个构建集成工具,与ant、maven、ivy有良好的相容相关性。
gradle适用于任何结构的工程,可以在同一个开发平台平行构建原工程和gradle工程。通常要求写相关测试,以保证开发的插件的相似性,这种迁移可以减少破坏性,尽可能的可靠。这也是重构的最佳实践。
类似的错误都是因为该引用的包没有下载,该安装的插件工具没有安装。
【AndroidStudio 报错:Could not find com.google:***】
【AndroidStudio 报错:Could not find com.android.tools.build:***】
打开界面后选择Import project,只有这样,才能让Gradle帮助自动解析重构工程。把该对应上的目录对应上。
然后通过填写Project Structure,自动生成相关配置文件。
问题一:
解决方案:
打开build.gradle, 更改本机对应的版本 ,注意是安卓的gradle版本,不是本机的gradle版本,不能通过cmd命令查看。
查看Gradle安装路径:
以上三个版本都是可以使用的。
问题二:
ERROR: Connection timed out: connect
加上两行google(),可以加速。
两处repositories的闭包中都声明了jcenter()这行配置,jcenter是一个代码托管仓库,配置之后我们能够轻松引用任何jcenter上的开源项目。classpath 声明了一个Gradle插件,要想使用它构建 Android 项目需要声明这个插件,最后面的部分是插件版本号。
第一行应用了一个插件,一般有两种值可选:com.android.application表示是一个应用程序模块,com.android.library表示是一个库模块。应用程序模块和库模块的最大区别在于,一个是可以直接运行,一个只能作为代码库依附于别的应用程序模块来运行。
小米便签是一个独立的软件,所以在build.gradle文件第一行会有
apply plugin: 'com.android.application'
这也会自动生成。
一开始我也会遇到这个问题,删掉或者注释掉就可以了,后来我发现去掉注释也可以运行。
最后Sync结果:
运行:
关于手机连接Android Studio,需要开发者模式,然后USB调试,由于现在的手机安全系数比较高,所以需要适当的放开权限才能连接。
下图是真机和虚拟机的运行界面。推荐使用真机,流畅度比较舒适。
下面是我的Gradle 相关配置文件:
:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { maven {url "https://plugins.gradle.org/m2/"} google() jcenter() } dependencies { classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.2" classpath 'com.android.tools.build:gradle:3.4.1' } } allprojects { repositories { google() jcenter() } }
apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "29.0.2" defaultConfig { applicationId "net.micode.notes" minSdkVersion 14 targetSdkVersion 14 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } compileOptions { targetCompatibility = '1.8' sourceCompatibility = '1.8' } packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/NOTICE' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/NOTICE.txt' } } dependencies { implementation fileTree(dir: 'D:\\httpcomponents-client-4.5.5\\lib', include: ['*.aar', '*.jar'], exclude: []) }
感想:
挺麻烦的,因为涉及很多的组件,插件,各种包。不过通过大家的集思广益最终还是把程序给编译出来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。