안드로이드 프로젝트를 라이브러리로 가져오고 APK로 컴파일하지 않는 방법 (Android Studio 1.0)
다른 프로젝트 (projAPK)에 대한 종속성으로 프로젝트 (projLib)를 가져 오려고했습니다.
projAPK gradle에는 다음이 있습니다.
dependencies {
compile project(':libs:NewsAPI')
compile project(':projLib')
}
하지만 gradle을 동기화하면 다음 오류가 발생합니다.
오류 : 종속성 Android_2015 : projLib : 프로젝트에서 지정되지 않음 projAPK는 컴파일 종속성으로 지원되지 않는 APK 아카이브로 해석됩니다. 파일 : /Users/myname/Documents/Development/Android_2015/libs/projAPK/build/outputs/apk/projLib-release-unsigned.apk
그래서 이것에 대한 두 가지 해결책이 있다고 생각합니다.
- 어떻게 든 gradle이 projLib이 APK로 컴파일되어서는 안되는 라이브러리라고 생각하게합니다
- 어떻게 든 gradle이 projLib를 명시 적으로 컴파일하지 않도록하십시오.
문제는 그 방법을 찾을 수 없다는 것입니다. 너희들이 도울 수 있다면 멋질거야 :)
에서 projLib 의 build.gradle 파일,이 같은 문을 볼 수 있습니다 :
apply plugin: 'com.android.application'
Gradle에게 APK를 생성하여 응용 프로그램으로 빌드하도록 지시합니다. 이것을 다음과 같이 변경하면 :
apply plugin: 'com.android.library'
라이브러리로 빌드되어 AAR을 생성하며 작동합니다.
별도의 APK를 생성하기 위해 projLib 가 필요한 경우 필요한 공통 코드를 세 번째 라이브러리 모듈로 가져 오기 위해 리팩토링을 수행해야하며 두 APK가 모두 의존해야합니다.
라이브러리는을 설정할 수 applicationId
없으므로 해당 효과에 오류 메시지가 표시되면 라이브러리의 빌드 스크립트에서 제거하십시오.
모듈 gradle 파일에서 -
교체 apply plugin: 'com.android.application'
로apply plugin: 'com.android.library'
그런 다음 제거 applicationId "xxx.xxx.xxxx"
깨끗하고 빌드
이 줄을 라이브러리 gradle
파일에 추가 하고 다른 섹션을 제거하십시오.
apply plugin: 'com.android.library'
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.squareup.picasso:picasso:2.4.0'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:gridlayout-v7:23.1.1'
,...
}
'IT박스' 카테고리의 다른 글
하프 스페이스, 엠 스페이스, 엔 스페이스와 같은 다른 공백 코드가 HTML에 유용합니까? (0) | 2020.07.13 |
---|---|
자바 문자열 줄 바꿈 (0) | 2020.07.13 |
JavaScript없이 HTML과 CSS에서 클릭 가능한 전체 'div'를 만드는 방법은 무엇입니까? (0) | 2020.07.13 |
날짜-시간 C #에서 시간 만 가져 오는 방법 (0) | 2020.07.13 |
파이썬에서 제곱근을 어떻게 계산합니까? (0) | 2020.07.13 |