문제점 설명 : 개발 환경에서만 라이브러리를 사용하고 출시 (앱 스토어 릴리스)에서는 라이브러리를 사용하지 않습니다. 그리고 저는이 라이브러리가 apk로 배포되기를 원하지 않습니다.Android : 라이브러리로드 및 해제 용 개발 분기에만 사용
내 appraoch : 그래서
, 내가 가진이 같은 환경 설정 :
개발 -
- 디버그
- 출시
스토어 -
,- 디버그
- 릴리스 -> 이것은 내가 추가 한 Gradle을에서 저장을
을 재생 간다 -
debugCompile 'com.some.library'
개발이 라이브러리를로드
- 디버그 및 스토어 - 디버그
그리고 라이브러리를 초기화하지 않는 응용 프로그램 클래스 - 나는 두 개의 응용 프로그램 클래스를 만들었습니다
- ApplicationWithoutDebugLibrary는 MultiDexApplication를 확장합니다. 라이브러리
를 초기화한다 Application 클래스 그리고 다른 맛에 대해 서로 다른 응용 프로그램 파일을로드 Gradle을에서 정의한 -
productFlavors {
Development {
applicationId "xyzzzz"
manifestPlaceholders = [application:"com.xyz.ApplicationWithDebugLibrary"]
}
store {
applicationId "11111"
manifestPlaceholders = [application:"com.xyz.ApplicationWithoutDebugLibrary"]
}
}
그리고 매니페스트에 내가 쓴이 :
<application
android:name="${application}"...
그래서, 나는 ApplicationWithDebugLibrary를 컴파일 할 수 없습니다 스토어 - 출시/개발 - 출시 APK를 건물입니다 때 디버그 것이 잘 작동되지만, .java, 릴리스 풍미를 위해 gradle 파일로 컴파일되지 않은 라이브러리를 사용하고 있습니다.
그래서이 클래스를 Store 릴리스 풍미 또는 개발 환경에서만 해당 라이브러리를로드 할 수있는 다른 솔루션으로로드하는 것을 피할 수있는 방법이 있습니까?
Gradle을의 클래스 및 작성 스크립트의 동적 로딩에 대해 동일한 작업을 수행 할 작업. 나는 그것이 가능한지 아닌지에 관해 모른다, 나는 많은 장소에서 그것에 관해 알기 위해 단지 흥미롭게 읽었다. – aamitarya
댓글을 다시 작성하십시오. 나는 당신이 정말로 무엇을 의미하는지 전혀 모른다. –
일부 조건을 기반으로 클래스를 컴파일하기 위해 동적 클래스를 사용하여 gradle에 스크립트를로드하거나 작성하여이 작업을 수행 할 수 있습니까? – aamitarya