Java Android 앱을 개발 중이며 일부 비어 있지 않은 구성 요소 (Google지도, 애널리틱스, 많은 오픈 소스 (GPL) 패키지)를 사용합니다. 난 쉽게 두 릴리스 컴파일 할 수 있도록하려면 : 비 무료 [시장에 업로드]와Java 프리 프로세서가 없기 때문에 비 프리 패키지를 어떻게 분리해야합니까?
- 전체 본격적인를
내가 생각하는 오픈 소스 커뮤니티에 대한 제한하지만 GPL의
이 경우 가장 좋은 방법은 무엇입니까?
Java Android 앱을 개발 중이며 일부 비어 있지 않은 구성 요소 (Google지도, 애널리틱스, 많은 오픈 소스 (GPL) 패키지)를 사용합니다. 난 쉽게 두 릴리스 컴파일 할 수 있도록하려면 : 비 무료 [시장에 업로드]와Java 프리 프로세서가 없기 때문에 비 프리 패키지를 어떻게 분리해야합니까?
내가 생각하는 오픈 소스 커뮤니티에 대한 제한하지만 GPL의
이 경우 가장 좋은 방법은 무엇입니까?
이 경우 가장 좋은 방법은 무엇입니까?
이 질문에 대한 답은 세 가지입니다.
첫 번째 대답은 관련 기술자와 함께 자격을 갖춘 법률 고문과상의하여 계획이 GPL 요건을 충족하는지 확인하는 것입니다. IANAL, 그러나 "본격적인"GPL 구성 요소가 포함되어있는 경우 일부 소스 코드가 동일하더라도 일부 개별 앱의 소스 코드를 대체 할 수 없으며 누군가 GPL을 준수해야한다고 주장하는 경우 "본격적인"앱으로 라이선스 기간 토론은 StackOverflow에 대한 주제와 관련이 없습니다. "이와 같은 구현이이 기술 요구 사항 (GPL에 의해 부과되는 경우)을 만족시킬 것인가"에 대한 질문이있는 경우 여기에서 질문하십시오.
두 번째 대답은 의견에 제안 된 것이므로 Gradle for Android입니다. 그 빌드 시스템에서 소개 된 "제품의 맛"은 비교적 쉽게와 같은 별도의 상황에 대해 별도의 응용 프로그램 버전, 빌드 하나 개의 프로젝트가 할 수 있도록 :
사용하여 별도의 인앱 별도의 유통 채널에 대한 API를 구매 (예 : ,
사용 ARM 대 바이너리
를 사용하여 다른 광고 네트워크
등) 안드로이드에 대한 아마존 앱 스토어 대 플레이 스토어 그러나.
, 함께 얻을, 그것은 단지 다른 제품의 맛에 대해 서로 다른 소스 코드, 자원, 또는 매니페스트 내용이없는 것 프로젝트가 될 것입니다 안드로이드 이클립스와 Gradle을을하는 방법이있다. 그렇지 않으면, 이클립스는 적어도 오늘 옵션이 될 수 없습니다. 안드로이드 스튜디오는 옵션이되어야하지만, 제품의 맛을 내기 위해 사용하지는 못했다. 빌드 용 IDE를 사용하지 않고 Ant 대신 Gradle for Android를 사용하는 경우 Ant (현재 Android Studio)가 아직 출시되지 않았지만 Ant의 기능을 거의 완벽하게 지원합니다.
Android 용 Gradle이 없으면 Android 라이브러리 프로젝트에 공통 코드를 삽입하고 두 개의 앱에서 해당 라이브러리 프로젝트를 사용할 수 있습니다.
그러나 라이센스 약관을 준수하는 솔루션에 우선 초점을 맞추고 솔루션을 구현할 방법을 결정하십시오.
오픈 소스 구성 요소가 MIT 또는 Apache 라이센스 (GPL이 아님) 인 경우, 본격적인 릴리스에는 차이가 있습니까? –
@TarekEldeeb : 라이선스 문제입니다. 자격을 갖춘 법률 고문과상의해야합니다. 일반적으로 말하면 두 라이센스는 "카피 레프트 (copyleft)"조항이 없으므로 폐쇄 소스 통합 작업을보다 쉽게 게시 할 수 있습니다. – CommonsWare
새로운 gradle 빌드 시스템을 살펴보십시오. 그들은 그것이 모든 것을 할 수 있다고 말합니다 (http://stackoverflow.com/questions/17428271/android-studio-gradle-build-flavors) (그리고 당신은 gradle을 사용하기 위해 Android Studio를 사용할 필요가 없습니다. 커맨드 라인에서도). – zapl