Android Studio 2.3이 포함 된 Android 지원 Repo 46.0.0
Android Studio 알림이 표시되면서 오늘 내 지원 저장소를 46.0.0으로 업데이트했습니다.
아래 오류가 발생합니다.
오류 : ': app : processDevDebugManifest'작업에 대한 실행이 실패했습니다.
매니페스트 병합 실패 : [com.android.support:support-v13:25.3.0] AndroidManifest.xml : 27 : 9-31의 Attribute meta-data#android.support.VERSION@value value = (25.3.0)도 [com.android.support:preference-v7:26.0.0-alpha1] AndroidManifest.xml : 24 : 9-38 value = (26.0.0-alpha1)에 있습니다. 제안 : 재정의하려면 AndroidManifest.xml : 25 : 5-27 : 34의 요소에 'tools : replace = "android : value"'를 추가하세요.
25.3.0에서 Revision 26.0.0 Alpha 1을 사용하도록 모든 종속성을 업데이트했지만 compileSdk를 25에서 26으로 올릴 필요가 있습니다. AS 2.3이있는 경우이를 수행 할 수 없습니다. 카나리아의 불안정한 알파 / 베타 버전입니다.
이 링크는 변경 사항을 보여줍니다 : https://developer.android.com/topic/libraries/support-library/revisions.html#26-0-0-alpha1
새로운 Android O 로의 마이그레이션과 관련하여 https://developer.android.com/preview/migration.html 링크입니다.
AS 안정 버전을 사용하면 새 저장소에서 작동하지 않는 것 같습니다.
새로운 46 대신 Android Studio Repository 버전 45로 돌아가려면 어떻게해야합니까?
** 업데이트 : 병합 된 매니페스트는 생성 된 라이브러리 매니페스트 중 하나에
<meta-data
android:name="android.support.VERSION"
android:value="26.0.0-alpha1" />
하지만 생성 된 파일 편집은 쓸모가 없기 때문에 지금은 새 AS가 안정적인 빌드가 될 때까지 rev 45를 고수하는 것입니다.
뭐가 문제 야
일부 라이브러리는 Android 지원 라이브러리의 'X 이상'버전에 의존하므로 Gradle 종속성 해결은 실제로 dependencies
블록 에 정확한 버전이 지정되어 있음을 무시하고 사용 가능한 최신 버전을 가져옵니다 .
이것은 당신이 원하는 것이 아닙니다. 동일한 버전의 모든 지원 라이브러리를 원하고 주요 버전은 컴파일 SDK 버전과 일치해야합니다.
해결책은 무엇입니까
다행히 특정 지원 라이브러리 버전을 강제 할 수 있습니다.
이것을 앱 모듈 끝에 넣으십시오 build.gradle
.
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
// Skip multidex because it follows a different versioning pattern.
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
물론 사용중인 버전으로 교체하십시오.
dependecies
블록의 지원 라이브러리에 대한 버전 값 은 이제 관련이 없습니다.
의심이 있다면
이것은 잘 문서화 된 방법 이며 작동합니다.
무엇을 도와 드릴까요?
다양한 지원 라이브러리 버전 에 따라 달라지는 라이브러리 찾기
gradlew dependencies --configuration compile -p <module name> | grep ,
그리고 해당 라이브러리의 작성자 에게 라이브러리가 사용할 수있는 가장 오래된 지원 라이브러리 에 전 이적으로 의존해야 함을 알립니다 .
이것은 문제를 완전히 피하는 것을 목표로합니다.
1 단계
Gradle이 호환되지 않는 com.android.support
버전을 확인하는 것을 피하려면 app module에 다음 코드를 추가하는 것이 빠른 수정입니다 build.gradle
.
dependencies {
//noinspection GradleCompatible
}
이것은 근본적인 문제를 해결하지 못하는 임시 수정입니다! 최소한의 수정으로 앱을 계속 개발하는 데 도움이되었습니다.
2 단계
이것을 기본 매니페스트 파일에 추가합니다 AndroidManifest.xml
.
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="25.3.1" />
This entry will be removed when one of the next updates of the support repository is available.
Step 3
Add the following code at the end of app module build.gradle
file:
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.1'
}
}
}
}
NB: It is recommended to make sure your Gradle libraries are updated and compatible to avoid runtime errors.
Their is a solution to fix it out:
- Move to Project explorer view
- Reach to bottom their is External Libraries
- See which library is using 26.0.0-alpha6
- Now write this in app.gradle on the basis of library in Step 3
Ex. in my case:
configurations.all {
resolutionStrategy.force 'com.android.support:appcompat-v7:25.3.0'
resolutionStrategy.force 'com.android.support:support-v13:25.3.0'
}
This will force project to use mentioned library.
I think the best solution is to just revert the Android Support Library to version 45.
To do this, open this link (change version to whatever suits your needs)
https://dl-ssl.google.com/android/repository/android_m2repository_r45.zip
When downloaded, unzip and copy m2repository to android-sdk-root-folder\extras\android. Make sure to delete the existing m2repository prior to unzipping to avoid problems.
This is a temporary fix that doesn't solve the underlying problems! It helped me continuing developing software with minimal modifications. Just add this to the main manifest:
<meta-data
tools:replace="android:value"
android:name="android.support.VERSION"
android:value="25.3.0" />
This entry can hopefully be removed again with one of the next updates of the support repository.
SOLUTION: The marked solution worked for me by adding the following to 4 of my 10 build.gradle files:
configurations.all {
resolutionStrategy.eachDependency { details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '25.3.0'
}
}
}
}
just do this that's all :-
compile 'com.android.support:appcompat-v7:25.3.1'
here v7:25.3.1 is my current version you just put urs.
in app gradle file
to me the problem was that the versions weren't the same in here
implementation 'com.android.support:appcompat-v7:**26.0.0-beta1**'
implementation 'com.android.support:support-v4:**26.0.0-beta1**'
implementation 'com.android.support:design:**26.0.0-beta1**'
and the card view was
compile 'com.android.support:cardview-v7:26.1.0'
so i changed the version libraries to..
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:design:26.1.0'
hope this help, good luck
ReferenceURL : https://stackoverflow.com/questions/42949974/android-support-repo-46-0-0-with-android-studio-2-3
'Programing' 카테고리의 다른 글
센터링 부트 스트랩 입력 필드 (0) | 2021.01.10 |
---|---|
Nuget-패키지 복원에 실패했습니다. (0) | 2021.01.09 |
심포니 대 cakephp (0) | 2021.01.09 |
배열로 자바 스크립트 푸시 (0) | 2021.01.09 |
CSS : 배경 이미지를 화면의 너비와 높이를 100 % 늘이십니까? (0) | 2021.01.09 |