아마존 클라우드에 내 안드로이드 스튜디오 2.2.2 라이브러리 프로젝트 게시 안드로이드 aws 문서를 다운로드했습니다. 그러나,이 단계는 나를위한 것이 아닙니다.amazon 클라우드 프로 시저에 안드로이드 라이브러리 게시
아무도 안드로이드 스튜디오 라이브러리 프로젝트를 Amazon 클라우드에 업로드하고 Jcenter 및 Maven과 같은 종속성에 대한 URL을 만드는 다른 방법을 제안 할 수 있습니다.
아마존 클라우드에 내 안드로이드 스튜디오 2.2.2 라이브러리 프로젝트 게시 안드로이드 aws 문서를 다운로드했습니다. 그러나,이 단계는 나를위한 것이 아닙니다.amazon 클라우드 프로 시저에 안드로이드 라이브러리 게시
아무도 안드로이드 스튜디오 라이브러리 프로젝트를 Amazon 클라우드에 업로드하고 Jcenter 및 Maven과 같은 종속성에 대한 URL을 만드는 다른 방법을 제안 할 수 있습니다.
라이브러리는 서버 일어 서서하고 관리 할 필요없이 개인 메이븐의 repos를 호스팅하는 무료
reply.my 라이브러리를 사용해 주셔서 감사합니다. larsgrefer yar. – harikrishnan
쉬운 솔루션을 https://jitpack.io을 사용할 수있는 오픈 소스 인 경우 : 자산을 호스팅하기 위해
가 Amazon S3에서는 먼저 저장소로 사용할 인증 된 버킷을 설정해야합니다. 이것은이 기사의 범위를 벗어나므로, 아마존은이를 수행하는 방법에 대해 상세하게 설명한 몇 가지 훌륭한 글을 가지고있다.
일단 버킷을 생성하면 버킷 정책을 추가하여 인증 사용자가 버킷에서 생성 된 모든 파일에 액세스 할 수있게해야합니다. 내 그룹도 얻을 버킷의 하위 디렉토리에 물건을 올려 수있는 권한을 pixite-받는다는 버킷 목록에 대한 액세스를 가지고 있으며,
{
"Version": "2012-10-17",
"Id": "Policy1428433847297",
"Statement": [
{
"Sid": "Stmt1428433844452",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567890:user/maven-user"
},
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::pixite-maven"
},
{
"Sid": "Stmt1428433844452",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::1234567890:user/maven-user"
},
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::pixite-maven/*"
}
]
}
알 수 있습니다. Amazon의 문서에 따라 원하는대로 제한 할 수 있습니다.
하나의 버킷에서 스냅 샷과 릴리스를 모두 호스팅하는 경우 (해당하는 것처럼) 해당 디렉토리를 버킷의 루트에 추가하는 것이 좋습니다. 또 다른 옵션은 독립적으로 관리 할 수있는 두 개의 버킷 (하나는 스냅 샷, 다른 하나는 릴리스)을 갖는 것입니다.
다음 단계는 프로젝트에 gradle 2.4를 사용하는 것입니다. 이것은 gradle-wrapper.properties 파일을 편집하거나 루트 build.gradle 파일에 다음 코드 단편을 추가하고 ./gradlew wrapper를 실행하여 수행 할 수 있습니다. 당신은 일반적으로 저장소를 설정 곳 (내 루트 빌드 스크립트에 allprojects {} 블록을 사용)에
task wrapper(type: Wrapper) {
gradleVersion = '2.4' }
지금, 당신이 액세스해야하는, 단순히 받는다는 저장소로 아마존 S3 버킷을 추가합니다. 저장소의 URL이 s3://[bucket name]/[path]
얼마나
repositories {
maven {
url "s3://pixite-maven/releases"
credentials(AwsCredentials) {
accessKey AWS_ACCESS_KEY
secretKey AWS_SECRET_KEY
}
}
maven {
url "s3://pixite-maven/snapshots"
credentials(AwsCredentials) {
accessKey AWS_ACCESS_KEY
secretKey AWS_SECRET_KEY
}
}
mavenLocal()
jcenter()
}
알 수 있습니다. 또한 이것은 개인 저장소이므로 Maven 블록에 내 AwsCredentials를 포함합니다. 실제 AWS_ACCESS_KEY
과 AWS_SECRET_KEY
을 직접 빌드 파일에 넣을 수는 있지만 그렇게하지 마십시오! 빌드 파일에는 자격 증명이 포함되어서는 안됩니다. 그러면 실제로 액세스를 관리 할 수 없기 때문입니다. 이 값들은 내 빌드 파일에있는 것과 정확히 동일하므로 홈 디렉토리의 사용자 별 gradle.properties 파일에서 읽을 수 있습니다. 내가 ~/.gradle/gradle.properties에 실제 값을 설정 곳은 다음과 같습니다 당신에게 내부 받는다는에 대한 합리적인 접근 제어 옵션을 허용, 모든 아마존 S3에 종속성을 호스팅하는 데 필요한입니다
관리 오버 헤드없이 호스팅.
주 : 오픈 소스 라이브러리
BinTray (jcenter)와 메이븐 중앙에 대한 아니 솔루션은 오픈 소스 코드를 배포 할 수있는 장소입니다. 이를 통해 라이브러리 사용자는 프로젝트 전체에 사용자 정의 저장소를 추가 할 필요없이 쉽게 액세스 할 수 있습니다. 이는 인증 된 저장소가 필요하거나 소스 코드 (ala Fabric)없이 라이브러리를 배포해야하는 경우에만 솔루션입니다. 이에 대한 자세한 내용은
다음 링크를 확인 :
An S3 repository can be configured to authenticate using AWS's EC2 instance metadata.
S3 Repositories can be configured with credentials providers
Setting Up & Publishing Private Amazon S3 Maven Repository Android Library
코딩 해피! 건배!!!
나는이 aws 튜토리얼을 또한 언급했다. 그것은 이해하기가 분명하지 않다. http://docs.aws.amazon.com/mobile/sdkforandroid/developerguide/ – harikrishnan