Make the switch to gradle!
1) ABS is now published as an AAR, so we can eliminate all local dependencies and bundled jars. 2) Upgrade to ABS 4.4.0 (The Last Release) and deal with the loss of Sherlock.Dialog by faking it with our own themes. 3) Remove all traces of ant. The modern world is here.pull/1/head
parent
91dd558f7a
commit
1c8f8666ba
@ -1,23 +1,9 @@
|
||||
Building TextSecure
|
||||
===================
|
||||
|
||||
Fetch ActionBarSherlock:
|
||||
1. Ensure the 'Android Support Repository' is installed from the Android SDK manager.
|
||||
1. Ensure gradle >= 1.8 is installed.
|
||||
|
||||
git clone git://github.com/JakeWharton/ActionBarSherlock.git ../ActionBarSherlock
|
||||
pushd ../ActionBarSherlock && git checkout 4.2.0 && popd
|
||||
Execute Gradle:
|
||||
|
||||
Configure ActionBarSherlock for your android target:
|
||||
|
||||
android update project --path ../ActionBarSherlock/library --target 1
|
||||
|
||||
Configure TextSecure for your android target, linking to ASB:
|
||||
|
||||
android update project --path . --target 1 --library ../ActionBarSherlock/library
|
||||
|
||||
Finally, both codebases must share the android-support jar. As TextSecure's is newer, use it:
|
||||
|
||||
cp libs/android-support-v4.jar ../ActionBarSherlock/library/libs/android-support-v4.jar
|
||||
|
||||
Assuming your android toolchain is correctly configured, it should now be possible to build the TextSecure apk.
|
||||
|
||||
ant debug
|
||||
gradle build
|
@ -0,0 +1,86 @@
|
||||
buildscript {
|
||||
repositories {
|
||||
mavenCentral()
|
||||
}
|
||||
dependencies {
|
||||
classpath 'com.android.tools.build:gradle:0.5.+'
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'android'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
maven {
|
||||
url "https://raw.github.com/whispersystems/maven/master/gcm-client/releases/"
|
||||
}
|
||||
maven {
|
||||
url "https://raw.github.com/whispersystems/maven/master/gson/releases/"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar'
|
||||
compile 'com.googlecode.libphonenumber:libphonenumber:5.3'
|
||||
compile 'com.android.support:support-v4:18.0.0'
|
||||
compile 'org.whispersystems:gson:2.1'
|
||||
compile 'com.google.android.gcm:gcm-client:1.0.2'
|
||||
}
|
||||
|
||||
android {
|
||||
compileSdkVersion 17
|
||||
buildToolsVersion '17.0.0'
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 8
|
||||
targetSdkVersion 17
|
||||
}
|
||||
|
||||
android {
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
java.srcDirs = ['src']
|
||||
resources.srcDirs = ['src']
|
||||
aild.srcDirs = ['src']
|
||||
renderscript.srcDirs = ['src']
|
||||
res.srcDirs = ['res']
|
||||
assets.srcDirs = ['assets']
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
release
|
||||
}
|
||||
buildTypes {
|
||||
release {
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def Properties props = new Properties()
|
||||
def propFile = new File('signing.properties')
|
||||
|
||||
if (propFile.canRead()){
|
||||
props.load(new FileInputStream(propFile))
|
||||
|
||||
if (props !=null &&
|
||||
props.containsKey('STORE_FILE') &&
|
||||
props.containsKey('STORE_PASSWORD') &&
|
||||
props.containsKey('KEY_ALIAS') &&
|
||||
props.containsKey('KEY_PASSWORD'))
|
||||
{
|
||||
android.signingConfigs.release.storeFile = file(props['STORE_FILE'])
|
||||
android.signingConfigs.release.storePassword = props['STORE_PASSWORD']
|
||||
android.signingConfigs.release.keyAlias = props['KEY_ALIAS']
|
||||
android.signingConfigs.release.keyPassword = props['KEY_PASSWORD']
|
||||
} else {
|
||||
println 'signing.properties found but some entries are missing'
|
||||
android.buildTypes.release.signingConfig = null
|
||||
}
|
||||
}else {
|
||||
println 'signing.properties not found'
|
||||
android.buildTypes.release.signingConfig = null
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="TextSecure" default="help">
|
||||
|
||||
<property file="local.properties" />
|
||||
|
||||
<property file="ant.properties" />
|
||||
|
||||
<property environment="env" />
|
||||
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
|
||||
<isset property="env.ANDROID_HOME" />
|
||||
</condition>
|
||||
|
||||
<loadproperties srcFile="project.properties" />
|
||||
|
||||
<fail
|
||||
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
|
||||
unless="sdk.dir"
|
||||
/>
|
||||
|
||||
<import file="custom_rules.xml" optional="true" />
|
||||
|
||||
<!-- version-tag: 1 -->
|
||||
<import file="${sdk.dir}/tools/ant/build.xml" />
|
||||
|
||||
</project>
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 944 B |
Binary file not shown.
After Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<style name="TextSecure.Light.Dialog" parent="@android:style/Theme.Holo.Light.Dialog"/>
|
||||
|
||||
</resources>
|
Loading…
Reference in New Issue