일부 명령으로 배치 파일을 만들려고하므로 일단 실행되면 파일의 일부 문자열이 변경되고 프로젝트가 빌드되며 APK가 생성됩니다. 변경해야하는 문자열은 다음과 같습니다. - 패키지 이름 (com.company.project) - 일부 이미지 (아이콘, 스플래시 화면 등) - 앱과 관련없는 일부 관련없는 문자열.명령 줄에서 사용자 정의 빌드 Android 앱
나는 그것을하는 방법을 안다. 그러나 패키지 이름에 대해, 그 응용 프로그램의 루트 폴더 (하위 디렉토리 포함)에서 해당 문자열의 모든 항목을 찾아서 바꾸는 것에 대해 잘못된 생각이 들었다.
ant
이이 작업을 수행하는 방법이나 명령이 있습니까?
또한 ant release
명령을 실행하는 동안 문제가 발생했습니다. 루트 폴더로 이동하여 명령을 실행하면 오류가 발생합니다. 그래서 이클립스에 가야했고, 프로젝트를 청소해야했고, 자동 백업을 할 수있게 만들었어야했다. (APK가 생성되지 않았기 때문에 장치에서 실행하려고했기 때문에) 그 시점에서 내 bin 폴더에는 폴더, 클래스, dexedLibs, res 및 Manifest.xml 파일이 있습니다.
그런 다음 CL에 가서 ant release
을 실행할 수 있습니다. CL에서이 모든 작업을 수행 할 수있는 방법이 있습니까? 뭔가 깨끗한와 빌드처럼 난 ant release
명령을 아무 문제없이 실행할 수 있습니까?
참고 : find and replace
내가이 일을 FNR라는이 .exe를 사용
편집 : 나는 지금 Gradle을 사용하고 패키지 이름을 변경 구축 할 수 있습니다하지만 여전히 내가 원하는 몇 가지가있다 build.gradle 파일에서 수행 할 수 없으며 제대로 작동하지 않습니다. 내가 잘못된 일을 해요 확신
task("hello"){
println "Hello world!!"
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.8.+'
}
}
apply plugin: 'android'
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
}
android {
compileSdkVersion 19
buildToolsVersion "19.0.3"
productFlavors {
flavor1 {
packageName "com.testCompany.testProject"
}
}
signingConfigs {
release {
storeFile file("keystore/android.keystore")
storePassword 'blah blah'
keyAlias "blah blah"
keyPassword 'blah blah blah'
}
}
buildTypes {
flavor1 {
zipAlign true
sourceSets {
main {
signingConfig signingConfigs.release
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
}
}
:
이
은 build.gradle입니다. 그래서 다음을 원합니다 : - res/strings.xml 파일의 일부 문자열을 변경하십시오. - res/drawable .... 폴더의 아이콘/png 파일을 사용자 정의 폴더로 변경하십시오.나는 어떻게하는지 전혀 모른다. 나는 시도 :
buildTypes{
flavor1{
copy{
from('src/res/'){
include '**/*.xml'
filter{String line -> line.replaceAll(string_to_be_replaced, replaced_string)}
}
into '$buildDir/res'
}
}
}
아무것도하지만
이 시점에서 새 사용자 Ant 스크립트를 작성해야하는 사람은 아무도 없습니다. Android 용 Gradle로 이동하십시오. 이 기능은 앞으로 지원되는 명령 줄 빌드 시스템 일뿐만 아니라 제품의 맛을 통해 원하는 모든 것을 처리합니다. – CommonsWare
좋아, 이제 내가 그 값을 어떻게 설정합니까? build.gradle 파일에서? 방법? 고맙습니다. – AAlferez