Android Studio 와 SVN 버 전 관리 프로그램의 협업 사용 안내
ignore 나 다른 설정 이 잘못 되 었 다 는 등 의외 의 상황 이 발생 하면 androidstudio 를 다시 시작 하거나 svn 의 update 를 실행 해 보 세 요.
1.설치 설정:
예전 에 ZendStudio 등 을 사용 하면 플러그 인 을 직접 설치 하면 되 었 지만 여 기 는 안 됩 니 다.command line 기능 을 가 진 SVN 클 라 이언 트 를 독립 적 으로 설치 해 야 합 니 다.저 는 TortoiseSVN 을 사 용 했 습 니 다.1.7 이후 에 command line 모드 를 지원 하기 시작 했다 고 합 니 다.저 는 지금 1.8.5 버 전 을 사용 하고 있 습 니 다.
그림 과 같이 설치 할 때 command line 을 사용자 정의 로 선택해 야 합 니 다.그렇지 않 으 면 설치 되 지 않 습 니 다.
설치 완료 후 IDE 의 setting 설정 패 널 을 엽 니 다.
위 그림 경로 Version Control 의 Subersion 설정:
Use Command Line Client 는 로 컬 TortoiseSVN 이 설 치 된 svn.exe 파일 경 로 를 탐색 하 는 것 을 선택 합 니 다.다음 그림 입 니 다.(입력 상자 맨 오른쪽 에 탐색 단추 가 있 습 니 다.표시 되 지 않 을 수도 있 습 니 다.창 을 늘 리 면 보 입 니 다)
설정 이 완료 되면 설치 가 완 료 됩 니 다.
2.SVN 가 져 오기,서명
이것 은 비교적 간단 하 다.
CVS 메뉴 밑 에 Import into Version Control 이 있 는데 svn 을 선택 하면 됩 니 다.
서명 작업 도 많 지 않 습 니 다.새 항목 에서 svn 에서 서명 하고 항목 을 생 성 할 수도 있 습 니 다.
맨 아래 항목 Browse VCS Repository 는 원 격 SVN 서버 의 파일 을 탐색 하고 삭제 할 수 있 습 니 다.
3.무시 파일 이나 디 렉 터 리 지정
AndroidStudio 의 Setting 패 널 에 설 정 된 ignore 는 아무런 효과 가 없 는 것 같 습 니 다.
무시 한 디 렉 터 리 의 디 스 플레이 효과(어두 운 노란색 과 녹색)를 살 펴 보 겠 습 니 다.
Setting 에서 의 설정,주로 무시 하 는 디 렉 터 리 와 파일:(이 설정 이 작 동 하지 않 는 것 같 지만 설정 하 십시오)
시스템 은 기본적으로 두 세 개의 파일 과 디 렉 터 리 가 있 습 니 다.제 가 추가 한'gradle.idea build 디 렉 터 리'는 이 세 개의 디 렉 터 리 가 svn 을 따라 가 서 는 안 된다 고 생각 합 니 다.컴 파일 할 때마다 모든 로 컬 환경 이 다 릅 니 다.그리고 저 는 build 와 idea 아래 에 있 는 library 파일 이 항상 충돌 하여 업데이트 할 때마다 지 워 졌 습 니 다.
TortoiseSVN 을 통 해 무 시 를 추가 합 니 다:
업데이트 및 제출
이 두 개의 작은 단 추 는 매우 작 동 합 니 다.위로 향 하 는 녹색 은 commt 이 고 아래 의 파란색 은 update 입 니 다.
4.Gradle 플러그 인 을 사용 하여 SVN 번 호 를 자동 으로 작성 하고 지정 한 디 렉 터 리 에 발표(복사)합 니 다.
Gradle 은 GitHub 프로젝트 의 주 소 는 다음 과 같 습 니 다.
https://github.com/Goddchen/Android-Gradle-Examples/tree/master/Gradle%20Library%20Projects
설치 배치 가 매우 편리 하 니,여 기 는 더 이상 말 하지 않 겠 습 니 다.다음은 우리 가 구체 적 으로 보 겠 습 니 다.
svn 번호:
1.classpath 의존 도 증가:
classpath group: 'org.tmatesoft.svnkit', name: 'svnkit', version: '1.8.11'
(최신 버 전 찾기)2.주 항목(app 의 모듈 디 렉 터 리)의 build.gradle 에 추가:
android {....}
def getSvnRevision() {
ISVNOptions options = SVNWCUtil.createDefaultOptions(true);
SVNClientManager clientManager = SVNClientManager.newInstance(options);
SVNStatusClient statusClient = clientManager.getStatusClient();
SVNStatus status = statusClient.doStatus(projectDir, false);
SVNRevision revision = status.getRevision();
def svnNum = revision.getNumber();
println("Svn version: " + svnNum);
println("============");
return svnNum;
}
revision 은 로 컬 업데이트 후에 야 얻 을 수 있 습 니 다.status 에는 마지막 제출 등 다른 데이터 도 있 습 니 다.필요 한 것 은 스스로 변경 할 수 있다.App 버 전 번호:
App 버 전 번 호 는 default Config 에서 직접 맞 출 수 있 지만,때로는 manifest.에 쓰 면 쉽게 잊 혀 지지 않 습 니 다.
def getVerName() {
String manifestText = file("AndroidManifest.xml").getText();
def matcherVersion = Pattern.compile("android:versionName=\"([\\d.]+).*\"").matcher(manifestText);
if (matcherVersion.find()) {
def verName = matcherVersion.group(1);
println("============");
println("App version: " + verName);
return verName;
} else {
throw new GradleException('Not find versionName in AndroidManifest');
}
}
AndroidManifest 의 경 로 는 현재 build.gradle 에 비해 표준 AS 생 성 은 src/main/android Manifest.xml 입 니 다.사용 가능 ${getVerName()}
컴 파일 후 출력 경로:
이것 은 여러 가지 방법 이 있 습 니 다.하 나 는 build 후 복사 입 니 다.하 나 는 variants 의 출력 경 로 를 직접 수정 하 는 것 입 니 다.여 기 는 잠시 다음 을 제공 합 니 다.
buildTypes {
release {
// .....
applicationVariants.all { variant ->
if ("release".equals(variant.buildType.name)) {// Only Release
variant.outputs.each { output ->
def targetDir = "D:/App"; //
output.outputFile = new File(targetDir,
"App_${getVerName()}_${getSvnRevision()}.apk");
println(output.outputFile)
}
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
svn 팁1. SVN 서버 IP 교체 2.특정 버전 가져오기 3.한 버전의 파일을 업데이트합니다. * svn: E155036: Working copy is too old (format 10, created by Subvers...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.