diff options
-rw-r--r-- | DESCRIPTION | 18 | ||||
-rw-r--r-- | OpenPGP-Keychain/AndroidManifest.xml | 21 | ||||
-rw-r--r-- | OpenPGP-Keychain/build.gradle | 48 | ||||
-rw-r--r-- | OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/CryptoServiceActivity.java | 11 | ||||
-rw-r--r-- | README.md | 10 | ||||
-rw-r--r-- | build.gradle | 15 | ||||
-rw-r--r-- | settings.gradle | 2 |
7 files changed, 87 insertions, 38 deletions
diff --git a/DESCRIPTION b/DESCRIPTION index 2ec1c84c5..7314de7d8 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,15 +1,21 @@ -THIS IS EXPERIMENTAL BETA SOFTWARE. -OpenPGP Keychain contains many remaining bugs, so help us developing on github: - -https://github.com/dschuermann/openpgp-keychain +THIS IS EXPERIMENTAL SOFTWARE. +Use OpenPGP Keychain at your own risk! Description: OpenPGP Keychain is an open source OpenPGP implementation for Android. - OpenPGP Keychain is a fork based on the original Android Privacy Guard (APG) to introduce more features and a new user interface. +Features: +• OpenPGP Keychain is Open Source and Free Software (GPLv3+) (-> verifiable cryptography) +• All basic OpenPGP operations: encrypt/decrypt/sign/verify +• NFC/QR code key exchange +• Key management (import/export/sign/upload) +• Import/export of GPG key rings and exported keys from/to the SD card +• Basic keyserver support +• Easy API + License: -Apache License 2.0 +GPLv3+ Permissions: • Internet access: Internet access is ONLY used for key server queries. diff --git a/OpenPGP-Keychain/AndroidManifest.xml b/OpenPGP-Keychain/AndroidManifest.xml index 14d7a1f0a..2c8244055 100644 --- a/OpenPGP-Keychain/AndroidManifest.xml +++ b/OpenPGP-Keychain/AndroidManifest.xml @@ -6,7 +6,26 @@ android:versionCode="20000" android:versionName="2.0" > - <!-- General remarks =============== - Last APG 1 version was 10900 (1.0.9 beta 00) - Keychain starting with versionCode 20000! Association of file types to APG ================================= General remarks about file ending conventions: - *.gpg for binary files - *.asc for ascii armored files The actual content can be anything. The file ending only shows if it is binary or ascii encoded. Remarks about the ugly android:pathPattern: We are matching all files with a specific file ending. This is done in an ugly way because of Android limitations. Read http://stackoverflow.com/questions/1733195/android-intent-filter-for-a-particular-file-extension and http://stackoverflow.com/questions/3400072/pathpattern-to-match-file-extension-does-not-work-if-a-period-exists-elsewhere-i/8599921 for more information. --> + <!-- + General remarks + =============== + - Last APG 1 version was 10900 (1.0.9 beta 00) + - Keychain starting with versionCode 20000! + + Association of file types to Keychain + ===================================== + General remarks about file ending conventions: + - *.gpg for binary files + - *.asc for ascii armored files The actual content can be anything. + + The file ending only shows if it is binary or ascii encoded. + + Remarks about the ugly android:pathPattern: + We are matching all files with a specific file ending. + This is done in an ugly way because of Android limitations. + Read http://stackoverflow.com/questions/1733195/android-intent-filter-for-a-particular-file-extension and http://stackoverflow.com/questions/3400072/pathpattern-to-match-file-extension-does-not-work-if-a-period-exists-elsewhere-i/8599921 + for more information. + --> <uses-sdk android:minSdkVersion="8" diff --git a/OpenPGP-Keychain/build.gradle b/OpenPGP-Keychain/build.gradle index a1bf3b783..a8523a6c8 100644 --- a/OpenPGP-Keychain/build.gradle +++ b/OpenPGP-Keychain/build.gradle @@ -16,8 +16,9 @@ repositories { dependencies { compile fileTree(dir: 'libs', includes: ['*.jar'], excludes: ['android-support-v4.jar']) - compile 'com.android.support:support-v4:13.0.+' + //compile 'com.android.support:support-v4:18.0.+' // already in actionbarsherlock compile 'com.actionbarsherlock:actionbarsherlock:4.4.+@aar' + compile project(':libraries:HtmlTextView') } android { @@ -26,7 +27,7 @@ android { defaultConfig { minSdkVersion 8 - targetSdkVersion 18 + targetSdkVersion 17 } sourceSets { @@ -43,28 +44,31 @@ android { instrumentTest.setRoot('tests') } - if (project.hasProperty('signingStoreLocation')) { - /* - * To sign release build, create file gradle.properties in .gradle/ with this content: - * - * signingStoreLocation=/home/key.store - * signingStorePassword=xxx - * signingKeyAlias=alias - * signingKeyPassword=xxx - */ - signingConfigs { - myConfig { - storeFile file(signingStoreLocation) - storePassword signingStorePassword - keyAlias signingKeyAlias - keyPassword signingKeyPassword - } - } - - buildTypes { + /* + * To sign release build, create file gradle.properties in ~/.gradle/ with this content: + * + * signingStoreLocation=/home/key.store + * signingStorePassword=xxx + * signingKeyAlias=alias + * signingKeyPassword=xxx + */ + if (project.hasProperty('signingStoreLocation') && + project.hasProperty('signingStorePassword') && + project.hasProperty('signingKeyAlias') && + project.hasProperty('signingKeyPassword')) { + println "Found sign properties in gradle.properties! Signing build…" + + signingConfigs { release { - signingConfig signingConfigs.myConfig + storeFile file(signingStoreLocation) + storePassword signingStorePassword + keyAlias signingKeyAlias + keyPassword signingKeyPassword } } + + buildTypes.release.signingConfig = signingConfigs.release + } else { + buildTypes.release.signingConfig = null } } diff --git a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/CryptoServiceActivity.java b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/CryptoServiceActivity.java index 3360388b8..a8e101dae 100644 --- a/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/CryptoServiceActivity.java +++ b/OpenPGP-Keychain/src/org/sufficientlysecure/keychain/remote_api/CryptoServiceActivity.java @@ -51,10 +51,11 @@ public class CryptoServiceActivity extends SherlockFragmentActivity { public static final String EXTRA_MESSENGER = "messenger"; + // passphrase action public static final String EXTRA_SECRET_KEY_ID = "secret_key_id"; + // register action public static final String EXTRA_PACKAGE_NAME = "package_name"; - - // select activity + // select pub keys action public static final String EXTRA_SELECTED_MASTER_KEY_IDS = "master_key_ids"; public static final String EXTRA_MISSING_USER_IDS = "missing_user_ids"; public static final String EXTRA_DUBLICATE_USER_IDS = "dublicate_user_ids"; @@ -63,10 +64,11 @@ public class CryptoServiceActivity extends SherlockFragmentActivity { // register view private AppSettingsFragment mSettingsFragment; - // select pub key view + // select pub keys view private SelectPublicKeyFragment mSelectFragment; - // has the user clicked one of the buttons? + // has the user clicked one of the buttons + // or do we need to handle the callback in onStop() private boolean finishHandled; @Override @@ -267,7 +269,6 @@ public class CryptoServiceActivity extends SherlockFragmentActivity { getSupportFragmentManager().beginTransaction() .add(R.id.api_select_pub_keys_fragment_container, mSelectFragment).commit(); } - } else { Log.e(Constants.TAG, "Wrong action!"); finish(); @@ -1,10 +1,10 @@ # OpenPGP Keychain (for Android) -OpenPGP Keychain is a EXPERIMENTAL fork of Android Privacy Guard (APG) +OpenPGP Keychain is an OpenPGP implementation for Android. +The development began as a fork of Android Privacy Guard (APG). see http://sufficientlysecure.org/keychain - # Build ## Build with Gradle @@ -13,12 +13,14 @@ see http://sufficientlysecure.org/keychain 2. Export ANDROID_HOME pointing to your Android SDK 3. Install gradle 4. Execute ``gradle wrapper`` (http://www.gradle.org/docs/current/userguide/gradle_wrapper.html) -5. Execute ``./gradlew assemble`` +5. Execute ``./gradlew build`` ## Build with Ant 1. Have Android SDK "tools" directory in your PATH (http://developer.android.com/sdk/index.html) -2. Execute ``android update project -p OpenPGP-Keychain`` and ``android update project -p libraries/ActionBarSherlock`` +2. Execute ``android update project -p OpenPGP-Keychain`` +3. Execute``android update project -p libraries/ActionBarSherlock`` +3. Execute``android update project -p libraries/HtmlTextView`` 3. Execute ``cd OpenPGP-Kechain``, ``ant debug`` # Contribute diff --git a/build.gradle b/build.gradle index a4573e05d..63ba66abf 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,18 @@ +buildscript { + repositories { + mavenCentral() + } + + dependencies { + classpath 'com.android.tools.build:gradle:0.5.+' + } +} + +allprojects { + repositories { + mavenCentral() + } +} task wrapper(type: Wrapper) { gradleVersion = '1.6' diff --git a/settings.gradle b/settings.gradle index e9f3917ee..08454c958 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1 +1,3 @@ include ':OpenPGP-Keychain' +include ':libraries:ActionBarSherlock' +include ':libraries:HtmlTextView'
\ No newline at end of file |