使用 android studio ,各位是如何成功导入或打开他人的开源项目并编译运行的?

2020-10-12 16:22:01 +08:00
 tctc4869

无论是什么样的编程开发,良好的 ide 能带给我良好的开发体验。之前开发 android 用过 eclipse,后来由于谷歌青睐 Idea,于是开始转向使用 android studio 。

使用起来感觉基本比 eclipse 要好,唯一的致命缺陷,就是导入别人的开源项目,尤其是那些没有提供通过 grade 的 implementation 方式导入的开源项目,就得手动打开文件选择对话框,选择开源项目的 build.gradle 并打开进行加载,这个期间可能会爆出各种错误,要能成功编译运行,根据百度的教程就得改一堆东西,改了还不一定能成功,就因为这个情况导致学习一些别人的开源项目,连编译运行连跑都跑不起来,很郁闷。

不知道各位有没有这种糟糕的使用经历,各位是如何打开别人的开源的 android 项目,并成功编译运行的?提供一下正确的打开方式

5784 次点击
所在节点    Android
26 条回复
chenjiajia9411
2020-10-13 16:19:13 +08:00
@tctc4869 #19
https://jitpack.io/#begeekmyfriend/yasea/-SNAPSHOT
`implementation 'com.github.begeekmyfriend:yasea:-SNAPSHOT'`
Jitpack 是可以用的啊。
tctc4869
2020-10-13 16:20:30 +08:00
谢谢,我其实没用过 Jitpack
tctc4869
2020-10-13 16:30:24 +08:00
@chenjiajia9411 谢谢提供,其实另外还有问题,用 implementation 导入一些资源会出现如下错误“

ERROR: Failed to resolve: com.github.begeekmyfriend:yasea:-SNAPSHOT
Show in Project Structure dialog
Affected Modules: app

grade project 里,我是怎么写的
repositories {
google()
maven { url "https://jitpack.io" }
jcenter()


}
这个错误我不太明白怎么解决,你能指点一下么
chenjiajia9411
2020-10-13 16:37:09 +08:00
@tctc4869 #23 你是不是写在了 buildscript 的 repositories 里?应该把 jitpack 目录写进 allprojects 的 repositories 里。
像这样:

````
buildscript {
repositories {
google()
mavenCentral()
gradlePluginPortal()
maven { url 'https://storage.googleapis.com/r8-releases/raw' }
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
maven { url 'https://kotlin.bintray.com/kotlinx' }
maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots'
}
mavenLocal()
}
dependencies {
//gradle plugin

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven { url 'https://jitpack.io' }
maven { url 'https://repo.spring.io/snapshot' }
maven { url 'https://oss.jfrog.org/libs-snapshot' }
maven { url 'https://oss.jfrog.org/artifactory/oss-snapshot-local/' }
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
maven { url 'https://kotlin.bintray.com/kotlinx' }
maven { url 'https://maven.aliyun.com/repository/releases' }
maven {
url 'https://oss.sonatype.org/content/repositories/snapshots'
}
maven {
url 'https://repository.apache.org/content/groups/snapshots'
}
flatDir {
dirs 'libs'
}
mavenLocal()
}
}
````
tctc4869
2020-10-13 16:52:34 +08:00
@chenjiajia9411 明白了,谢谢指导
silencelixing
2020-10-13 19:27:21 +08:00
当然是用梯子,用梯子可以大大提高成功率

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/714210

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX