Merge remote branch 'origin/master'

This commit is contained in:
Hans-Emil Skogh 2012-01-14 12:10:49 +01:00
commit bd136134e1
230 changed files with 2096 additions and 1175 deletions

1
.gitignore vendored
View file

@ -1,5 +1,6 @@
config.py config.py
repo/ repo/
logs/
built/ built/
build/ build/
build_*/ build_*/

25
README
View file

@ -21,18 +21,27 @@ To be able to auto-build packages, you're going to need:
*Linux *Linux
*Python *Python
*A fully functional Android SDK with all SDK platforms and tools *Android SDK with all SDK platforms (for all API versions) and tools
*The Android NDK *Android NDK
*Ant *Ant
*Ant Contrib Tasks (Debian package ant-contrib) *Ant Contrib Tasks (Debian package ant-contrib)
*Maven (Debian package maven2) *Maven (Debian package maven2)
*JavaCC (Debian package javacc) *JavaCC (Debian package javacc)
*JDK (Debian package openjdk-6-jdk and openjdk-7-jdk)
*VCS clients: svn, git, hg, bzr *VCS clients: svn, git, hg, bzr
*A keystore for holding release keys. (Safe, secure and well backed up!) *A keystore for holding release keys. (Safe, secure and well backed up!)
You then need to create a config.py (copy config.sample.py and follow the You then need to create a config.py (copy config.sample.py and follow the
instructions) to specify the locations of some of these things. instructions) to specify the locations of some of these things.
==Building Apps==
Run
./build.py -p goo.TeaTimer
to test building apk files. They will be put in the repo directory.
=MetaData= =MetaData=
Information used by update.py to compile the public index comes from two Information used by update.py to compile the public index comes from two
@ -91,7 +100,11 @@ The type of repository - for automatic building from source. If this is not
specified, automatic building is disabled for this application. Possible specified, automatic building is disabled for this application. Possible
values are: values are:
git, svn, hg, bzr git, git-svn, svn, hg, bzr
The git-svn option connects to an SVN repository, and you specify the URL in
exactly the same way, but git is used as a back-end. This is preferable for
performance reasons.
==Repo== ==Repo==
@ -99,7 +112,7 @@ The repository location. Usually a git: or svn: URL.
For a Subversion repo that requires authentication, you can precede the repo For a Subversion repo that requires authentication, you can precede the repo
URL with username:password@ and those parameters will be passed as --username URL with username:password@ and those parameters will be passed as --username
and --password to the SVN checkout command. and --password to the SVN checkout command. (Doesn't work for git-svn).
==Build Version== ==Build Version==
@ -125,9 +138,7 @@ configuration to the build. These are:
subdir=<path> - Specifies to build from a subdirectory of the checked out subdir=<path> - Specifies to build from a subdirectory of the checked out
source code. Normally this directory is changed to before source code. Normally this directory is changed to before
building, but there is a special case for SVN repositories building.
where the URL is specified with a * at the end. See the
documentation for the Repo field for more information.
bindir=<path> - Normally the build output (apk) is expected to be in the bindir=<path> - Normally the build output (apk) is expected to be in the
bin subdirectory below the ant build files. If the project bin subdirectory below the ant build files. If the project
is configured to put it elsewhere, that can be specified is configured to put it elsewhere, that can be specified

275
build.py
View file

@ -2,7 +2,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
# build.py - part of the FDroid server tools # build.py - part of the FDroid server tools
# Copyright (C) 2010-11, Ciaran Gultnieks, ciaran@ciarang.com # Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by # it under the terms of the GNU Affero General Public License as published by
@ -36,13 +36,14 @@ from common import VCSException
#Read configuration... #Read configuration...
execfile('config.py') execfile('config.py')
# Parse command line... # Parse command line...
parser = OptionParser() parser = OptionParser()
parser.add_option("-v", "--verbose", action="store_true", default=False, parser.add_option("-v", "--verbose", action="store_true", default=False,
help="Spew out even more information than normal") help="Spew out even more information than normal")
parser.add_option("-p", "--package", default=None, parser.add_option("-p", "--package", default=None,
help="Build only the specified package") help="Build only the specified package")
parser.add_option("-s", "--stop", action="store_true", default=False,
help="Make the build stop on exceptions")
(options, args) = parser.parse_args() (options, args) = parser.parse_args()
# Get all apps... # Get all apps...
@ -51,6 +52,11 @@ apps = common.read_metadata(options.verbose)
failed_apps = {} failed_apps = {}
build_succeeded = [] build_succeeded = []
log_dir = 'logs'
if not os.path.isdir(log_dir):
print "Creating log directory"
os.makedirs(log_dir)
output_dir = 'repo' output_dir = 'repo'
if not os.path.isdir(output_dir): if not os.path.isdir(output_dir):
print "Creating output directory" print "Creating output directory"
@ -68,13 +74,13 @@ if not os.path.isdir(build_dir):
for app in apps: for app in apps:
if app['disabled']: if app['Disabled']:
print "Skipping %s: disabled" % app['id'] print "Skipping %s: disabled" % app['id']
elif not app['builds']: elif not app['builds']:
print "Skipping %s: no builds specified" % app['id'] print "Skipping %s: no builds specified" % app['id']
if (app['disabled'] is None and app['repo'] != '' if (app['Disabled'] is None and app['Repo'] != ''
and app['repotype'] != '' and (options.package is None or and app['Repo Type'] != '' and (options.package is None or
options.package == app['id']) and len(app['builds']) > 0): options.package == app['id']) and len(app['builds']) > 0):
print "Processing " + app['id'] print "Processing " + app['id']
@ -82,7 +88,7 @@ for app in apps:
build_dir = 'build/' + app['id'] build_dir = 'build/' + app['id']
# Set up vcs interface and make sure we have the latest code... # Set up vcs interface and make sure we have the latest code...
vcs = common.getvcs(app['repotype'], app['repo'], build_dir) vcs = common.getvcs(app['Repo Type'], app['Repo'], build_dir)
refreshed_source = False refreshed_source = False
@ -102,233 +108,21 @@ for app in apps:
else: else:
print "..building version " + thisbuild['version'] print "..building version " + thisbuild['version']
if not refreshed_source: # Prepare the source code...
vcs.refreshlocal() root_dir = common.prepare_source(vcs, app, thisbuild,
build_dir, sdk_path, ndk_path, javacc_path,
not refreshed_source)
refreshed_source = True refreshed_source = True
# Optionally, the actual app source can be in a subdirectory...
if thisbuild.has_key('subdir'):
root_dir = os.path.join(build_dir, thisbuild['subdir'])
else:
root_dir = build_dir
# Get a working copy of the right revision...
if options.verbose:
print "Resetting repository to " + thisbuild['commit']
vcs.reset(thisbuild['commit'])
# Initialise submodules if requred...
if thisbuild.get('submodules', 'no') == 'yes':
vcs.initsubmodules()
# Generate (or update) the ant build file, build.xml...
if (thisbuild.get('update', 'yes') == 'yes' and
not thisbuild.has_key('maven')):
parms = [os.path.join(sdk_path, 'tools', 'android'),
'update', 'project', '-p', '.']
parms.append('--subprojects')
if thisbuild.has_key('target'):
parms.append('-t')
parms.append(thisbuild['target'])
if subprocess.call(parms, cwd=root_dir) != 0:
raise BuildException("Failed to update project")
# If the app has ant set up to sign the release, we need to switch
# that off, because we want the unsigned apk...
for propfile in ('build.properties', 'default.properties'):
if os.path.exists(os.path.join(root_dir, propfile)):
if subprocess.call(['sed','-i','s/^key.store/#/',
propfile], cwd=root_dir) !=0:
raise BuildException("Failed to amend %s" % propfile)
# Update the local.properties file...
locprops = os.path.join(root_dir, 'local.properties')
if os.path.exists(locprops):
f = open(locprops, 'r')
props = f.read()
f.close()
# Fix old-fashioned 'sdk-location' by copying
# from sdk.dir, if necessary...
if thisbuild.get('oldsdkloc', 'no') == "yes":
sdkloc = re.match(r".*^sdk.dir=(\S+)$.*", props,
re.S|re.M).group(1)
props += "\nsdk-location=" + sdkloc + "\n"
# Add ndk location...
props+= "\nndk.dir=" + ndk_path + "\n"
# Add java.encoding if necessary...
if thisbuild.has_key('encoding'):
props += "\njava.encoding=" + thisbuild['encoding'] + "\n"
f = open(locprops, 'w')
f.write(props)
f.close()
# Insert version code and number into the manifest if necessary...
if thisbuild.has_key('insertversion'):
if subprocess.call(['sed','-i','s/' + thisbuild['insertversion'] +
'/' + thisbuild['version'] +'/g',
'AndroidManifest.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend manifest")
if thisbuild.has_key('insertvercode'):
if subprocess.call(['sed','-i','s/' + thisbuild['insertvercode'] +
'/' + thisbuild['vercode'] +'/g',
'AndroidManifest.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend manifest")
# Delete unwanted file...
if thisbuild.has_key('rm'):
os.remove(os.path.join(build_dir, thisbuild['rm']))
# Fix apostrophes translation files if necessary...
if thisbuild.get('fixapos', 'no') == 'yes':
for root, dirs, files in os.walk(os.path.join(root_dir,'res')):
for filename in files:
if filename.endswith('.xml'):
if subprocess.call(['sed','-i','s@' +
r"\([^\\]\)'@\1\\'" +
'@g',
os.path.join(root, filename)]) != 0:
raise BuildException("Failed to amend " + filename)
# Fix translation files if necessary...
if thisbuild.get('fixtrans', 'no') == 'yes':
for root, dirs, files in os.walk(os.path.join(root_dir,'res')):
for filename in files:
if filename.endswith('.xml'):
f = open(os.path.join(root, filename))
changed = False
outlines = []
for line in f:
num = 1
index = 0
oldline = line
while True:
index = line.find("%", index)
if index == -1:
break
next = line[index+1:index+2]
if next == "s" or next == "d":
line = (line[:index+1] +
str(num) + "$" +
line[index+1:])
num += 1
index += 3
else:
index += 1
# We only want to insert the positional arguments
# when there is more than one argument...
if oldline != line:
if num > 2:
changed = True
else:
line = oldline
outlines.append(line)
f.close()
if changed:
f = open(os.path.join(root, filename), 'w')
f.writelines(outlines)
f.close()
# Run a pre-build command if one is required...
if thisbuild.has_key('prebuild'):
if subprocess.call(thisbuild['prebuild'],
cwd=root_dir, shell=True) != 0:
raise BuildException("Error running pre-build command")
# Apply patches if any
if 'patch' in thisbuild:
for patch in thisbuild['patch'].split(';'):
print "Applying " + patch
patch_path = os.path.join('metadata', app['id'], patch)
if subprocess.call(['patch', '-p1',
'-i', os.path.abspath(patch_path)], cwd=build_dir) != 0:
raise BuildException("Failed to apply patch %s" % patch_path)
# Special case init functions for funambol...
if thisbuild.get('initfun', 'no') == "yes":
if subprocess.call(['sed','-i','s@' +
'<taskdef resource="net/sf/antcontrib/antcontrib.properties" />' +
'@' +
'<taskdef resource="net/sf/antcontrib/antcontrib.properties">' +
'<classpath>' +
'<pathelement location="/usr/share/java/ant-contrib.jar"/>' +
'</classpath>' +
'</taskdef>' +
'@g',
'build.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.xml")
if subprocess.call(['sed','-i','s@' +
'\${user.home}/funambol/build/android/build.properties' +
'@' +
'build.properties' +
'@g',
'build.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.xml")
buildxml = os.path.join(root_dir, 'build.xml')
f = open(buildxml, 'r')
xml = f.read()
f.close()
xmlout = ""
mode = 0
for line in xml.splitlines():
if mode == 0:
if line.find("jarsigner") != -1:
mode = 1
else:
xmlout += line + "\n"
else:
if line.find("/exec") != -1:
mode += 1
if mode == 3:
mode =0
f = open(buildxml, 'w')
f.write(xmlout)
f.close()
if subprocess.call(['sed','-i','s@' +
'platforms/android-2.0' +
'@' +
'platforms/android-8' +
'@g',
'build.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.xml")
shutil.copyfile(
os.path.join(root_dir, "build.properties.example"),
os.path.join(root_dir, "build.properties"))
if subprocess.call(['sed','-i','s@' +
'javacchome=.*'+
'@' +
'javacchome=' + javacc_path +
'@g',
'build.properties'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.properties")
if subprocess.call(['sed','-i','s@' +
'sdk-folder=.*'+
'@' +
'sdk-folder=' + sdk_path +
'@g',
'build.properties'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.properties")
if subprocess.call(['sed','-i','s@' +
'android.sdk.version.*'+
'@' +
'android.sdk.version=2.0' +
'@g',
'build.properties'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.properties")
# Build the source tarball right before we build the release... # Build the source tarball right before we build the release...
tarname = app['id'] + '_' + thisbuild['vercode'] + '_src' tarname = app['id'] + '_' + thisbuild['vercode'] + '_src'
tarball = tarfile.open(os.path.join(output_dir, tarball = tarfile.open(os.path.join(output_dir,
tarname + '.tar.gz'), "w:gz") tarname + '.tar.gz'), "w:gz")
tarball.add(build_dir, tarname) def tarexc(f):
if f in ['.svn', '.git', '.hg', '.bzr']:
return True
return False
tarball.add(build_dir, tarname, exclude=tarexc)
tarball.close() tarball.close()
# Build native stuff if required... # Build native stuff if required...
@ -347,18 +141,17 @@ for app in apps:
if thisbuild.has_key('maven'): if thisbuild.has_key('maven'):
p = subprocess.Popen(['mvn', 'clean', 'install', p = subprocess.Popen(['mvn', 'clean', 'install',
'-Dandroid.sdk.path=' + sdk_path], '-Dandroid.sdk.path=' + sdk_path],
cwd=root_dir, stdout=subprocess.PIPE) cwd=root_dir, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
else: else:
if thisbuild.has_key('antcommand'): if thisbuild.has_key('antcommand'):
antcommand = thisbuild['antcommand'] antcommand = thisbuild['antcommand']
else: else:
antcommand = 'release' antcommand = 'release'
p = subprocess.Popen(['ant', antcommand], cwd=root_dir, p = subprocess.Popen(['ant', antcommand], cwd=root_dir,
stdout=subprocess.PIPE) stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output = p.communicate()[0] output, error = p.communicate()
if p.returncode != 0: if p.returncode != 0:
print output raise BuildException("Build failed for %s:%s" % (app['id'], thisbuild['version']), output.strip(), error.strip())
raise BuildException("Build failed for %s:%s" % (app['id'], thisbuild['version']))
elif options.verbose: elif options.verbose:
print output print output
print "Build successful" print "Build successful"
@ -419,7 +212,8 @@ for app in apps:
raise BuildException(("Unexpected version/version code in output" raise BuildException(("Unexpected version/version code in output"
"APK: %s / %s" "APK: %s / %s"
"Expected: %s / %s") "Expected: %s / %s")
) % (version, str(vercode), thisbuild['version'], str(thisbuild['vercode'])) % (version, str(vercode), thisbuild['version'], str(thisbuild['vercode']))
)
# Copy the unsigned apk to our temp directory for further # Copy the unsigned apk to our temp directory for further
# processing... # processing...
@ -477,24 +271,35 @@ for app in apps:
if p.returncode != 0: if p.returncode != 0:
raise BuildException("Failed to align application") raise BuildException("Failed to align application")
os.remove(dest_unsigned) os.remove(dest_unsigned)
build_succeeded.append(app)
except BuildException as be: except BuildException as be:
if options.stop:
raise
print "Could not build app %s due to BuildException: %s" % (app['id'], be) print "Could not build app %s due to BuildException: %s" % (app['id'], be)
logfile = open(os.path.join(log_dir, app['id'] + '.log'), 'a+')
logfile.write(str(be))
logfile.close
failed_apps[app['id']] = be failed_apps[app['id']] = be
except VCSException as vcse: except VCSException as vcse:
if options.stop:
raise
print "VCS error while building app %s: %s" % (app['id'], vcse) print "VCS error while building app %s: %s" % (app['id'], vcse)
failed_apps[app['id']] = vcse failed_apps[app['id']] = vcse
except Exception as e: except Exception as e:
if options.stop:
raise
print "Could not build app %s due to unknown error: %s" % (app['id'], e) print "Could not build app %s due to unknown error: %s" % (app['id'], e)
failed_apps[app['id']] = e failed_apps[app['id']] = e
build_succeeded.append(app)
for app in build_succeeded: for app in build_succeeded:
print "success: %s" % (app['id']) print "success: %s" % (app['id'])
for fa in failed_apps: for fa in failed_apps:
print "Build for app %s failed: %s" % (fa, failed_apps[fa]) print "Build for app %s failed:\n%s" % (fa, failed_apps[fa])
print "Finished." print "Finished."
if len(build_succeeded) > 0:
print str(len(build_succeeded)) + ' builds succeeded'
if len(failed_apps) > 0: if len(failed_apps) > 0:
print str(len(failed_apps)) + ' builds failed' print str(len(failed_apps)) + ' builds failed'

View file

@ -31,20 +31,11 @@ import common
execfile('config.py') execfile('config.py')
# Parse command line... # Check for a new version by looking at the Google market.
parser = OptionParser() # Returns (None, "a message") if this didn't work, or (version, vercode) for
parser.add_option("-v", "--verbose", action="store_true", default=False, # the details of the current version.
help="Spew out even more information than normal") def check_market(app):
(options, args) = parser.parse_args() time.sleep(5)
# Get all apps...
apps = common.read_metadata(options.verbose)
html_parser = HTMLParser.HTMLParser()
for app in apps:
print "Processing " + app['id']
url = 'http://market.android.com/details?id=' + app['id'] url = 'http://market.android.com/details?id=' + app['id']
page = urllib.urlopen(url).read() page = urllib.urlopen(url).read()
@ -60,29 +51,49 @@ for app in apps:
vercode = m.group(1) vercode = m.group(1)
if not vercode: if not vercode:
print "...couldn't find version code" return (None, "Couldn't find version code")
elif not version: if not version:
print "...couldn't find version" return (None, "Couldn't find version")
elif vercode == app['marketvercode'] and version == app['marketversion']: return (version, vercode)
# Parse command line...
parser = OptionParser()
parser.add_option("-v", "--verbose", action="store_true", default=False,
help="Spew out even more information than normal")
(options, args) = parser.parse_args()
# Get all apps...
apps = common.read_metadata(options.verbose)
html_parser = HTMLParser.HTMLParser()
for app in apps:
print "Processing " + app['id'] + '...'
mode = app['Update Check Mode']
if mode == 'Market':
(version, vercode) = check_market(app)
elif mode == 'None':
version = None
vercode = 'Checking disabled'
else:
version = None
vercode = 'Invalid update check method'
if not version:
print "..." + vercode
elif vercode == app['Market Version Code'] and version == app['Market Version']:
print "...up to date" print "...up to date"
else: else:
print '...updating to version:' + version + ' vercode:' + vercode print '...updating to version:' + version + ' vercode:' + vercode
newdata = '' app['Market Version'] = version
app['Market Version Code'] = vercode
metafile = os.path.join('metadata', app['id'] + '.txt') metafile = os.path.join('metadata', app['id'] + '.txt')
mf = open(metafile, 'r') common.write_metadata(metafile, app)
for line in mf:
if line.startswith('Market Version:'):
newdata += 'Market Version:' + version + '\n'
elif line.startswith('Market Version Code:'):
newdata += 'Market Version Code:' + vercode + '\n'
else:
newdata += line
mf.close()
mf = open(metafile, 'w')
mf.write(newdata)
mf.close()
time.sleep(5)
print "Finished." print "Finished."

603
common.py
View file

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# #
# common.py - part of the FDroid server tools # common.py - part of the FDroid server tools
# Copyright (C) 2010-11, Ciaran Gultnieks, ciaran@ciarang.com # Copyright (C) 2010-12, Ciaran Gultnieks, ciaran@ciarang.com
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by # it under the terms of the GNU Affero General Public License as published by
@ -17,6 +17,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import glob, os, sys, re import glob, os, sys, re
import shutil
import subprocess import subprocess
@ -25,6 +26,8 @@ def getvcs(vcstype, remote, local):
return vcs_git(remote, local) return vcs_git(remote, local)
elif vcstype == 'svn': elif vcstype == 'svn':
return vcs_svn(remote, local) return vcs_svn(remote, local)
elif vcstype == 'git-svn':
return vcs_gitsvn(remote, local)
elif vcstype == 'hg': elif vcstype == 'hg':
return vcs_hg(remote,local) return vcs_hg(remote,local)
elif vcstype == 'bzr': elif vcstype == 'bzr':
@ -82,11 +85,19 @@ class vcs:
class vcs_git(vcs): class vcs_git(vcs):
def checkrepo(self):
p = subprocess.Popen(['git', 'rev-parse', '--show-toplevel'],
stdout=subprocess.PIPE, cwd=self.local)
result = p.communicate()[0].rstrip()
if not result.endswith(self.local):
raise VCSException('Repository mismatch')
def clone(self): def clone(self):
if subprocess.call(['git', 'clone', self.remote, self.local]) != 0: if subprocess.call(['git', 'clone', self.remote, self.local]) != 0:
raise VCSException("Git clone failed") raise VCSException("Git clone failed")
def reset(self, rev=None): def reset(self, rev=None):
self.checkrepo()
if rev is None: if rev is None:
rev = 'origin' rev = 'origin'
if subprocess.call(['git', 'reset', '--hard', rev], if subprocess.call(['git', 'reset', '--hard', rev],
@ -97,6 +108,7 @@ class vcs_git(vcs):
raise VCSException("Git clean failed") raise VCSException("Git clean failed")
def pull(self): def pull(self):
self.checkrepo()
if subprocess.call(['git', 'pull', 'origin'], if subprocess.call(['git', 'pull', 'origin'],
cwd=self.local) != 0: cwd=self.local) != 0:
raise VCSException("Git pull failed") raise VCSException("Git pull failed")
@ -106,6 +118,7 @@ class vcs_git(vcs):
raise VCSException("Git fetch failed") raise VCSException("Git fetch failed")
def initsubmodules(self): def initsubmodules(self):
self.checkrepo()
if subprocess.call(['git', 'submodule', 'init'], if subprocess.call(['git', 'submodule', 'init'],
cwd=self.local) != 0: cwd=self.local) != 0:
raise VCSException("Git submodule init failed") raise VCSException("Git submodule init failed")
@ -114,6 +127,42 @@ class vcs_git(vcs):
raise VCSException("Git submodule update failed") raise VCSException("Git submodule update failed")
class vcs_gitsvn(vcs):
def checkrepo(self):
p = subprocess.Popen(['git', 'rev-parse', '--show-toplevel'],
stdout=subprocess.PIPE, cwd=self.local)
result = p.communicate()[0].rstrip()
if not result.endswith(self.local):
raise VCSException('Repository mismatch')
def clone(self):
if subprocess.call(['git', 'svn', 'clone', self.remote, self.local]) != 0:
raise VCSException("Git clone failed")
def reset(self, rev=None):
self.checkrepo()
if rev is None:
rev = 'HEAD'
else:
p = subprocess.Popen(['git', 'svn', 'find-rev', 'r' + rev],
cwd=self.local, stdout=subprocess.PIPE)
rev = p.communicate()[0].rstrip()
if p.returncode != 0:
raise VCSException("Failed to get git treeish from svn rev")
if subprocess.call(['git', 'reset', '--hard', rev],
cwd=self.local) != 0:
raise VCSException("Git reset failed")
if subprocess.call(['git', 'clean', '-dfx'],
cwd=self.local) != 0:
raise VCSException("Git clean failed")
def pull(self):
self.checkrepo()
if subprocess.call(['git', 'svn', 'rebase'],
cwd=self.local) != 0:
raise VCSException("Git svn rebase failed")
class vcs_svn(vcs): class vcs_svn(vcs):
@ -196,15 +245,54 @@ class vcs_bzr(vcs):
raise VCSException("Bzr update failed") raise VCSException("Bzr update failed")
# Get the type expected for a given metadata field.
def metafieldtype(name):
if name == 'Description':
return 'multiline'
if name == 'Requires Root':
return 'flag'
if name == 'Build Version':
return 'build'
if name == 'Use Built':
return 'obsolete'
return 'string'
# Parse metadata for a single application.
#
# 'metafile' - the filename to read. The package id for the application comes
# from this filename.
#
# Returns a dictionary containing all the details of the application. There are
# two major kinds of information in the dictionary. Keys beginning with capital
# letters correspond directory to identically named keys in the metadata file.
# Keys beginning with lower case letters are generated in one way or another,
# and are not found verbatim in the metadata.
#
# Known keys not originating from the metadata are:
#
# 'id' - the application's package ID
# 'builds' - a list of dictionaries containing build information
# for each defined build
# 'comments' - a list of comments from the metadata file. Each is
# a tuple of the form (field, comment) where field is
# the name of the field it preceded in the metadata
# file. Where field is None, the comment goes at the
# end of the file. Alternatively, 'build:version' is
# for a comment before a particular build version.
# 'descriptionlines' - original lines of description as formatted in the
# metadata file.
#
def parse_metadata(metafile, **kw): def parse_metadata(metafile, **kw):
def parse_buildline(value): def parse_buildline(lines):
value = "".join(lines)
parts = [p.replace("\\,", ",") parts = [p.replace("\\,", ",")
for p in re.split(r"(?<!\\),", value)] for p in re.split(r"(?<!\\),", value)]
if len(parts) < 3: if len(parts) < 3:
raise MetaDataException("Invalid build format: " + value + " in " + metafile.name) raise MetaDataException("Invalid build format: " + value + " in " + metafile.name)
thisbuild = {} thisbuild = {}
thisbuild['origlines'] = lines
thisbuild['version'] = parts[0] thisbuild['version'] = parts[0]
thisbuild['vercode'] = parts[1] thisbuild['vercode'] = parts[1]
thisbuild['commit'] = parts[2] thisbuild['commit'] = parts[2]
@ -213,66 +301,116 @@ def parse_metadata(metafile, **kw):
thisbuild[pk] = pv thisbuild[pk] = pv
return thisbuild return thisbuild
def add_comments(key):
for comment in curcomments:
thisinfo['comments'].append((key, comment))
del curcomments[:]
if not isinstance(metafile, file): if not isinstance(metafile, file):
metafile = open(metafile, "r") metafile = open(metafile, "r")
thisinfo = {} thisinfo = {}
thisinfo['id'] = metafile.name[9:-4] thisinfo['id'] = metafile.name[9:-4]
if kw.get("verbose", False): if kw.get("verbose", False):
print "Reading metadata for " + thisinfo['id'] print "Reading metadata for " + thisinfo['id']
thisinfo['description'] = ''
thisinfo['name'] = None # Defaults for fields that come from metadata...
thisinfo['summary'] = '' thisinfo['Name'] = None
thisinfo['license'] = 'Unknown' thisinfo['Category'] = 'None'
thisinfo['web'] = '' thisinfo['Description'] = []
thisinfo['source'] = '' thisinfo['Summary'] = ''
thisinfo['tracker'] = '' thisinfo['License'] = 'Unknown'
thisinfo['donate'] = None thisinfo['Web Site'] = ''
thisinfo['disabled'] = None thisinfo['Source Code'] = ''
thisinfo['antifeatures'] = None thisinfo['Issue Tracker'] = ''
thisinfo['marketversion'] = '' thisinfo['Donate'] = None
thisinfo['marketvercode'] = '0' thisinfo['Disabled'] = None
thisinfo['repotype'] = '' thisinfo['AntiFeatures'] = None
thisinfo['repo'] = '' thisinfo['Update Check Mode'] = 'Market'
thisinfo['Market Version'] = ''
thisinfo['Market Version Code'] = '0'
thisinfo['Repo Type'] = ''
thisinfo['Repo'] = ''
thisinfo['Requires Root'] = False
# General defaults...
thisinfo['builds'] = [] thisinfo['builds'] = []
thisinfo['requiresroot'] = False thisinfo['comments'] = []
mode = 0 mode = 0
buildline = [] buildlines = []
curcomments = []
for line in metafile: for line in metafile:
line = line.rstrip('\r\n') line = line.rstrip('\r\n')
if line.startswith("#"):
continue
if mode == 0: if mode == 0:
if len(line) == 0: if len(line) == 0:
continue continue
if line.startswith("#"):
curcomments.append(line)
continue
index = line.find(':') index = line.find(':')
if index == -1: if index == -1:
raise MetaDataException("Invalid metadata in " + metafile.name + " at: " + line) raise MetaDataException("Invalid metadata in " + metafile.name + " at: " + line)
field = line[:index] field = line[:index]
value = line[index+1:] value = line[index+1:]
if field == 'Description':
fieldtype = metafieldtype(field)
if fieldtype != 'build':
add_comments(field)
if fieldtype == 'multiline':
mode = 1 mode = 1
elif field == 'Name': thisinfo[field] = []
thisinfo['name'] = value if len(value) > 0:
elif field == 'Summary': raise MetaDataException("Unexpected text on same line as " + field + " in " + metafile.name)
thisinfo['summary'] = value elif fieldtype == 'string':
elif field == 'Source Code': thisinfo[field] = value
thisinfo['source'] = value elif fieldtype == 'flag':
elif field == 'License': if value == 'Yes':
thisinfo['license'] = value thisinfo[field] = True
elif field == 'Category': elif value == 'No':
thisinfo['category'] = value thisinfo[field] = False
elif field == 'Web Site': else:
thisinfo['web'] = value raise MetaDataException("Expected Yes or No for " + field + " in " + metafile.name)
elif field == 'Issue Tracker': elif fieldtype == 'build':
thisinfo['tracker'] = value if value.endswith("\\"):
elif field == 'Donate': mode = 2
thisinfo['donate'] = value buildlines = [value[:-1]]
elif field == 'Disabled': else:
thisinfo['disabled'] = value thisinfo['builds'].append(parse_buildline([value]))
elif field == 'Use Built': add_comments('build:' + thisinfo['builds'][-1]['version'])
pass #Ignoring this - will be removed elif fieldtype == 'obsolete':
elif field == 'AntiFeatures': pass # Just throw it away!
parts = value.split(",") else:
raise MetaDataException("Unrecognised field type for " + field + " in " + metafile.name)
elif mode == 1: # Multiline field
if line == '.':
mode = 0
else:
thisinfo[field].append(line)
elif mode == 2: # Line continuation mode in Build Version
if line.endswith("\\"):
buildlines.append(line[:-1])
else:
buildlines.append(line)
thisinfo['builds'].append(
parse_buildline(buildlines))
add_comments('build:' + thisinfo['builds'][-1]['version'])
mode = 0
add_comments(None)
# Mode at end of file should always be 0...
if mode == 1:
raise MetaDataException(field + " not terminated in " + metafile.name)
elif mode == 2:
raise MetaDataException("Unterminated continuation in " + metafile.name)
if len(thisinfo['Description']) == 0:
thisinfo['Description'].append('No description available')
# Ensure all AntiFeatures are recognised...
if thisinfo['AntiFeatures']:
parts = thisinfo['AntiFeatures'].split(",")
for part in parts: for part in parts:
if (part != "Ads" and if (part != "Ads" and
part != "Tracking" and part != "Tracking" and
@ -281,51 +419,71 @@ def parse_metadata(metafile, **kw):
part != "NonFreeAdd"): part != "NonFreeAdd"):
raise MetaDataException("Unrecognised antifeature '" + part + "' in " \ raise MetaDataException("Unrecognised antifeature '" + part + "' in " \
+ metafile.name) + metafile.name)
thisinfo['antifeatures'] = value
elif field == 'Market Version':
thisinfo['marketversion'] = value
elif field == 'Market Version Code':
thisinfo['marketvercode'] = value
elif field == 'Repo Type':
thisinfo['repotype'] = value
elif field == 'Repo':
thisinfo['repo'] = value
elif field == 'Build Version':
if value.endswith("\\"):
mode = 2
buildline = [value[:-1]]
else:
thisinfo['builds'].append(parse_buildline(value))
elif field == "Requires Root":
if value == "Yes":
thisinfo['requiresroot'] = True
else:
raise MetaDataException("Unrecognised field " + field + " in " + metafile.name)
elif mode == 1: # multi-line description
if line == '.':
mode = 0
else:
if len(line) == 0:
thisinfo['description'] += '\n\n'
else:
if (not thisinfo['description'].endswith('\n') and
len(thisinfo['description']) > 0):
thisinfo['description'] += ' '
thisinfo['description'] += line
elif mode == 2: # line continuation
if line.endswith("\\"):
buildline.append(line[:-1])
else:
buildline.append(line)
thisinfo['builds'].append(
parse_buildline("".join(buildline)))
mode = 0
if mode == 1:
raise MetaDataException("Description not terminated in " + metafile.name)
if len(thisinfo['description']) == 0:
thisinfo['description'] = 'No description available'
return thisinfo return thisinfo
# Write a metadata file.
#
# 'dest' - The path to the output file
# 'app' - The app data
def write_metadata(dest, app):
def writecomments(key):
for pf, comment in app['comments']:
if pf == key:
mf.write(comment + '\n')
def writefield(field, value=None):
writecomments(field)
if value is None:
value = app[field]
mf.write(field + ':' + value + '\n')
mf = open(dest, 'w')
if app['Disabled']:
writefield('Disabled')
if app['AntiFeatures']:
writefield('AntiFeatures')
writefield('Category')
writefield('License')
writefield('Web Site')
writefield('Source Code')
writefield('Issue Tracker')
if app['Donate']:
writefield('Donate')
mf.write('\n')
if app['Name']:
writefield('Name')
writefield('Summary')
writefield('Description', '')
for line in app['Description']:
mf.write(line + '\n')
mf.write('.\n')
mf.write('\n')
if app['Requires Root']:
writefield('Requires Root', 'Yes')
mf.write('\n')
if len(app['Repo Type']) > 0:
writefield('Repo Type')
writefield('Repo')
mf.write('\n')
for build in app['builds']:
writecomments('build:' + build['version'])
mf.write('Build Version:')
mf.write('\\\n'.join(build['origlines']) + '\n')
if len(app['builds']) > 0:
mf.write('\n')
writefield('Update Check Mode')
if len(app['Market Version']) > 0:
writefield('Market Version')
writefield('Market Version Code')
mf.write('\n')
writecomments(None)
mf.close()
# Read all metadata. Returns a list of 'app' objects (which are dictionaries as
# returned by the parse_metadata function.
def read_metadata(verbose=False): def read_metadata(verbose=False):
apps = [] apps = []
for metafile in sorted(glob.glob(os.path.join('metadata', '*.txt'))): for metafile in sorted(glob.glob(os.path.join('metadata', '*.txt'))):
@ -334,12 +492,34 @@ def read_metadata(verbose=False):
apps.append(parse_metadata(metafile, verbose=verbose)) apps.append(parse_metadata(metafile, verbose=verbose))
return apps return apps
# Parse multiple lines of description as written in a metadata file, returning
# a single string.
def parse_description(lines):
text = ''
for line in lines:
if len(line) == 0:
text += '\n\n'
else:
if not text.endswith('\n') and len(text) > 0:
text += ' '
text += line
return text
class BuildException(Exception): class BuildException(Exception):
def __init__(self, value): def __init__(self, value, stdout = None, stderr = None):
self.value = value self.value = value
self.stdout = stdout
self.stderr = stderr
def __str__(self): def __str__(self):
return repr(self.value) ret = repr(self.value)
if self.stdout:
ret = ret + "\n==== stdout begin ====\n" + str(self.stdout) + "\n==== stdout end ===="
if self.stderr:
ret = ret + "\n==== stderr begin ====\n" + str(self.stderr) + "\n==== stderr end ===="
return ret
class VCSException(Exception): class VCSException(Exception):
def __init__(self, value): def __init__(self, value):
@ -355,3 +535,250 @@ class MetaDataException(Exception):
def __str__(self): def __str__(self):
return repr(self.value) return repr(self.value)
# Prepare the source code for a particular build
# 'vcs' - the appropriate vcs object for the application
# 'app' - the application details from the metadata
# 'build' - the build details from the metadata
# 'build_dir' - the path to the build directory
# 'sdk_path' - the path to the Android SDK
# 'ndk_path' - the path to the Android NDK
# 'javacc_path' - the path to javacc
# 'refresh' - True to refresh from the remote repo
# Returns the root directory, which may be the same as 'build_dir' or may
# be a subdirectory of it.
def prepare_source(vcs, app, build, build_dir, sdk_path, ndk_path, javacc_path, refresh):
if refresh:
vcs.refreshlocal()
# Optionally, the actual app source can be in a subdirectory...
if build.has_key('subdir'):
root_dir = os.path.join(build_dir, build['subdir'])
else:
root_dir = build_dir
# Get a working copy of the right revision...
print "Resetting repository to " + build['commit']
vcs.reset(build['commit'])
# Check that a subdir (if we're using one) exists. This has to happen
# after the checkout, since it might not exist elsewhere...
if not os.path.exists(root_dir):
raise BuildException('Missing subdir ' + root_dir)
# Initialise submodules if requred...
if build.get('submodules', 'no') == 'yes':
vcs.initsubmodules()
# Generate (or update) the ant build file, build.xml...
if (build.get('update', 'yes') == 'yes' and
not build.has_key('maven')):
parms = [os.path.join(sdk_path, 'tools', 'android'),
'update', 'project', '-p', '.']
parms.append('--subprojects')
if build.has_key('target'):
parms.append('-t')
parms.append(build['target'])
# Newer versions of the platform tools don't replace the build.xml
# file as they always did previously, they spew out a nanny-like
# warning and tell you to do it manually. The following emulates
# the original behaviour...
buildxml = os.path.join(root_dir, 'build.xml')
if os.path.exists(buildxml):
os.remove(buildxml)
if subprocess.call(parms, cwd=root_dir) != 0:
raise BuildException("Failed to update project")
# If the app has ant set up to sign the release, we need to switch
# that off, because we want the unsigned apk...
for propfile in ('build.properties', 'default.properties'):
if os.path.exists(os.path.join(root_dir, propfile)):
if subprocess.call(['sed','-i','s/^key.store/#/',
propfile], cwd=root_dir) !=0:
raise BuildException("Failed to amend %s" % propfile)
# Update the local.properties file...
locprops = os.path.join(root_dir, 'local.properties')
if os.path.exists(locprops):
f = open(locprops, 'r')
props = f.read()
f.close()
# Fix old-fashioned 'sdk-location' by copying
# from sdk.dir, if necessary...
if build.get('oldsdkloc', 'no') == "yes":
sdkloc = re.match(r".*^sdk.dir=(\S+)$.*", props,
re.S|re.M).group(1)
props += "\nsdk-location=" + sdkloc + "\n"
# Add ndk location...
props+= "\nndk.dir=" + ndk_path + "\n"
# Add java.encoding if necessary...
if build.has_key('encoding'):
props += "\njava.encoding=" + build['encoding'] + "\n"
f = open(locprops, 'w')
f.write(props)
f.close()
# Insert version code and number into the manifest if necessary...
if build.has_key('insertversion'):
if subprocess.call(['sed','-i','s/' + build['insertversion'] +
'/' + build['version'] +'/g',
'AndroidManifest.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend manifest")
if build.has_key('insertvercode'):
if subprocess.call(['sed','-i','s/' + build['insertvercode'] +
'/' + build['vercode'] +'/g',
'AndroidManifest.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend manifest")
# Delete unwanted file...
if build.has_key('rm'):
os.remove(os.path.join(build_dir, build['rm']))
# Fix apostrophes translation files if necessary...
if build.get('fixapos', 'no') == 'yes':
for root, dirs, files in os.walk(os.path.join(root_dir, 'res')):
for filename in files:
if filename.endswith('.xml'):
if subprocess.call(['sed','-i','s@' +
r"\([^\\]\)'@\1\\'" +
'@g',
os.path.join(root, filename)]) != 0:
raise BuildException("Failed to amend " + filename)
# Fix translation files if necessary...
if build.get('fixtrans', 'no') == 'yes':
for root, dirs, files in os.walk(os.path.join(root_dir, 'res')):
for filename in files:
if filename.endswith('.xml'):
f = open(os.path.join(root, filename))
changed = False
outlines = []
for line in f:
num = 1
index = 0
oldline = line
while True:
index = line.find("%", index)
if index == -1:
break
next = line[index+1:index+2]
if next == "s" or next == "d":
line = (line[:index+1] +
str(num) + "$" +
line[index+1:])
num += 1
index += 3
else:
index += 1
# We only want to insert the positional arguments
# when there is more than one argument...
if oldline != line:
if num > 2:
changed = True
else:
line = oldline
outlines.append(line)
f.close()
if changed:
f = open(os.path.join(root, filename), 'w')
f.writelines(outlines)
f.close()
# Run a pre-build command if one is required...
if build.has_key('prebuild'):
if subprocess.call(build['prebuild'],
cwd=root_dir, shell=True) != 0:
raise BuildException("Error running pre-build command")
# Apply patches if any
if 'patch' in build:
for patch in build['patch'].split(';'):
print "Applying " + patch
patch_path = os.path.join('metadata', app['id'], patch)
if subprocess.call(['patch', '-p1',
'-i', os.path.abspath(patch_path)], cwd=build_dir) != 0:
raise BuildException("Failed to apply patch %s" % patch_path)
# Special case init functions for funambol...
if build.get('initfun', 'no') == "yes":
if subprocess.call(['sed','-i','s@' +
'<taskdef resource="net/sf/antcontrib/antcontrib.properties" />' +
'@' +
'<taskdef resource="net/sf/antcontrib/antcontrib.properties">' +
'<classpath>' +
'<pathelement location="/usr/share/java/ant-contrib.jar"/>' +
'</classpath>' +
'</taskdef>' +
'@g',
'build.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.xml")
if subprocess.call(['sed','-i','s@' +
'\${user.home}/funambol/build/android/build.properties' +
'@' +
'build.properties' +
'@g',
'build.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.xml")
buildxml = os.path.join(root_dir, 'build.xml')
f = open(buildxml, 'r')
xml = f.read()
f.close()
xmlout = ""
mode = 0
for line in xml.splitlines():
if mode == 0:
if line.find("jarsigner") != -1:
mode = 1
else:
xmlout += line + "\n"
else:
if line.find("/exec") != -1:
mode += 1
if mode == 3:
mode =0
f = open(buildxml, 'w')
f.write(xmlout)
f.close()
if subprocess.call(['sed','-i','s@' +
'platforms/android-2.0' +
'@' +
'platforms/android-8' +
'@g',
'build.xml'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.xml")
shutil.copyfile(
os.path.join(root_dir, "build.properties.example"),
os.path.join(root_dir, "build.properties"))
if subprocess.call(['sed','-i','s@' +
'javacchome=.*'+
'@' +
'javacchome=' + javacc_path +
'@g',
'build.properties'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.properties")
if subprocess.call(['sed','-i','s@' +
'sdk-folder=.*'+
'@' +
'sdk-folder=' + sdk_path +
'@g',
'build.properties'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.properties")
if subprocess.call(['sed','-i','s@' +
'android.sdk.version.*'+
'@' +
'android.sdk.version=2.0' +
'@g',
'build.properties'], cwd=root_dir) !=0:
raise BuildException("Failed to amend build.properties")
return root_dir

View file

@ -1 +0,0 @@
*.class

View file

@ -1,11 +0,0 @@
=Libraries=
androidmarketapi-x.x.jar is Apache 2.0 licensed - source from:
http://code.google.com/p/android-market-api/
https://code.google.com/p/protobuf/ is New BSD licensed - source from:
https://code.google.com/p/protobuf/

Binary file not shown.

View file

@ -1,2 +0,0 @@
#!/bin/sh
javac -classpath androidmarketapi-0.6.jar test.java

Binary file not shown.

View file

@ -1,2 +0,0 @@
#!/bin/sh
java -classpath ".:androidmarketapi-0.6.jar" test $1 $2 $3

View file

@ -1,147 +0,0 @@
import java.io.*;
import java.util.*;
import com.gc.android.market.api.MarketSession.Callback;
import com.gc.android.market.api.MarketSession;
import com.gc.android.market.api.model.Market.App;
import com.gc.android.market.api.model.Market.AppsResponse;
import com.gc.android.market.api.model.Market.AppsRequest;
import com.gc.android.market.api.model.Market.CommentsRequest;
import com.gc.android.market.api.model.Market.GetImageRequest;
import com.gc.android.market.api.model.Market.GetImageResponse;
import com.gc.android.market.api.model.Market.ResponseContext;
import com.gc.android.market.api.model.Market.GetImageRequest.AppImageUsage;
class test {
/**
* @param args
*/
public static void main(String[] args) {
try {
if(args.length < 3) {
System.out.println("Parameters :\n" +
"email password deviceid");
return;
}
String login = args[0];
String password = args[1];
String deviceid = args[2];
// Get a list of apps we want to check - i.e. those that
// we have metadata files for...
File dir = new File("../metadata");
List<String> apps = new ArrayList<String>();
String[] metafiles = dir.list();
for (int i=0; i<metafiles.length; i++) {
String metafile = metafiles[i];
if(metafile.endsWith(".txt")) {
String pkg = metafile.substring(0,
metafile.length() - 4);
apps.add(pkg);
}
}
System.out.println("Apps to check: " + apps.size());
MarketSession session = new MarketSession();
session.getContext().setAndroidId(deviceid);
session.getContext().setDeviceAndSdkVersion("sapphire:7");
System.out.println("Login...");
session.login(login,password);
System.out.println("Login done");
MarketSession.Callback callback = new MarketSession.Callback() {
@Override
public void onResult(ResponseContext context, Object oresp) {
try {
AppsResponse response = (AppsResponse)oresp;
if(response == null) {
System.out.println("No response");
}
if(response.getAppCount() != 1) {
System.out.println("Not in market, or multiple results");
} else {
App app = response.getAppList().get(0);
String filespec = "../metadata/" + app.getPackageName() + ".txt";
FileInputStream fi = new FileInputStream(filespec);
InputStreamReader isr = new InputStreamReader(fi, "UTF-8");
BufferedReader br = new BufferedReader(isr);
StringBuilder output = new StringBuilder();
boolean changed = false;
boolean vercodefound = false;
boolean versionfound = false;
String line, newline;
while (br.ready()) {
line = br.readLine();
if (line.startsWith("Market Version:")) {
versionfound = true;
newline="Market Version:" + app.getVersion();
if (!newline.equals(line)) {
changed = true;
line = newline;
}
} else if (line.startsWith("Market Version Code:")) {
vercodefound = true;
newline="Market Version Code:" + app.getVersionCode();
if (!newline.equals(line)) {
changed = true;
line = newline;
}
}
output.append(line + "\n");
}
br.close();
isr.close();
fi.close();
if(!versionfound) {
changed = true;
output.append("Market Version:" + app.getVersion() + "\n");
}
if(!vercodefound) {
changed = true;
output.append("Market Version Code:" + app.getVersionCode() + "\n");
}
if (changed) {
System.out.println("..updating");
FileOutputStream fo = new FileOutputStream(filespec);
OutputStreamWriter osr = new OutputStreamWriter(fo, "UTF-8");
BufferedWriter wi = new BufferedWriter(osr);
wi.write(output.toString());
wi.close();
osr.close();
fo.close();
}
}
} catch (Exception ex) {
System.out.println("...Exception");
ex.printStackTrace();
}
}
};
for(String pkg : apps) {
System.out.println("Checking: " + pkg);
AppsRequest appsRequest = AppsRequest.newBuilder()
.setQuery("pname:" + pkg)
.setStartIndex(0).setEntriesCount(10)
.setWithExtendedInfo(true)
.build();
session.append(appsRequest, callback);
session.flush();
// Pause to avoid rate limit...
Thread.sleep(5000);
}
} catch(Exception ex) {
ex.printStackTrace();
}
}
}

View file

@ -1,15 +1,17 @@
Use Built:Yes
License:GPLv2
Category:Office Category:Office
License:GPLv2
Web Site:http://code.google.com/p/anstop/ Web Site:http://code.google.com/p/anstop/
Source Code:http://code.google.com/p/anstop/source/checkout Source Code:http://code.google.com/p/anstop/source/checkout
Issue Tracker:http://code.google.com/p/anstop/issues/list Issue Tracker:http://code.google.com/p/anstop/issues/list
Summary:A simple stopwatch Summary:A simple stopwatch
Description:A simple stopwatch, that also supports lap timing and a countdown Description:
A simple stopwatch, that also supports lap timing and a countdown
timer. timer.
. .
Repo Type:svn Repo Type:git-svn
Repo:http://anstop.googlecode.com/svn/trunk Repo:http://anstop.googlecode.com/svn/trunk
Build Version:1.4,9,34 Build Version:1.4,9,34

View file

@ -0,0 +1,17 @@
Category:Office
License:GPLv3
Web Site:http://aarddict.org/android/
Source Code:https://github.com/aarddict/android
Issue Tracker:https://github.com/aarddict/android/issues
Donate:http://aarddict.org/android/
Summary:Offline dictionary
Description:
An offline dictionary and wikipedia reader.
.
Repo Type:git
Repo:git://github.com/aarddict/android.git
Build Version:1.3.1,10,1.3.1,prebuild=mv lib libs

View file

@ -1,17 +1,19 @@
Use Built:Yes
License:GPLv2+
Category:System Category:System
License:GPLv2+
Web Site:http://code.google.com/p/android-vnc-viewer/ Web Site:http://code.google.com/p/android-vnc-viewer/
Source Code:http://code.google.com/p/android-vnc-viewer/source/checkout Source Code:http://code.google.com/p/android-vnc-viewer/source/checkout
Issue Tracker:http://code.google.com/p/android-vnc-viewer/issues/list Issue Tracker:http://code.google.com/p/android-vnc-viewer/issues/list
Summary:VNC viewer Summary:VNC viewer
Description: Description:
A VNC ('remote desktop') client. A VNC ('remote desktop') client.
. .
Repo Type:svn
Repo Type:git-svn
Repo:http://android-vnc-viewer.googlecode.com/svn/branches/antlersoft Repo:http://android-vnc-viewer.googlecode.com/svn/branches/antlersoft
Build Version:0.5.0,13,197,subdir=androidVNC Build Version:0.5.0,13,197,subdir=androidVNC
Market Version:0.5.0 Market Version:0.5.0
Market Version Code:13 Market Version Code:13

View file

@ -1,12 +1,15 @@
Disabled:See license Disabled:See license
License:Unknown
Category:Games Category:Games
License:Unknown
Web Site:http://github.com/rndmcnlly/iteration Web Site:http://github.com/rndmcnlly/iteration
Source Code:http://github.com/rndmcnlly/iteration Source Code:http://github.com/rndmcnlly/iteration
Issue Tracker: Issue Tracker:
Summary:Generative art Summary:Generative art
Description: Description:
Generative art (pretty pictures of mathematical origin). Generative art (pretty pictures of mathematical origin).
. .
Market Version:3.15 Market Version:3.15
Market Version Code:25 Market Version Code:25

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:GPLv3
Category:Office Category:Office
License:GPLv3
Web Site:https://code.google.com/p/ical-import-export/ Web Site:https://code.google.com/p/ical-import-export/
Source Code:https://code.google.com/p/ical-import-export/source/checkout Source Code:https://code.google.com/p/ical-import-export/source/checkout
Issue Tracker:https://code.google.com/p/ical-import-export/issues/list Issue Tracker:https://code.google.com/p/ical-import-export/issues/list
Summary:iCal (.ics) file importer Summary:iCal (.ics) file importer
Description: Description:
Allows you to import iCalendar files to your calendar without using Google Allows you to import iCalendar files to your calendar without using Google
@ -13,7 +13,8 @@ synchronization services.
Repo Type:svn Repo Type:svn
Repo:http://ical-import-export.googlecode.com/svn/trunk/ Repo:http://ical-import-export.googlecode.com/svn/trunk/
Build Version:1.5,51,!11 but needs AndroidTools compiling too,subdir=iCalImportExport,target=android-9 Build Version:1.5,51,!11 but needs AndroidTools compiling too,subdir=iCalImportExport,target=android-10
Market Version:1.5 Market Version:1.5
Market Version Code:51 Market Version Code:51

View file

@ -1,15 +1,18 @@
Disabled:Sends device info and other data to a web server without permission Disabled:Sends device info and other data to a web server without permission
Use Built:Yes Category:None
License:GPLv3+ License:GPLv3+
Web Site:http://tomtasche.at/p/OpenOffice%20Document%20Reader Web Site:http://tomtasche.at/p/OpenOffice%20Document%20Reader
Source Code:https://github.com/TomTasche/OpenOffice-Document-Reader Source Code:https://github.com/TomTasche/OpenOffice-Document-Reader
Issue Tracker:https://github.com/TomTasche/OpenOffice-Document-Reader/issues Issue Tracker:https://github.com/TomTasche/OpenOffice-Document-Reader/issues
Summary:Open Office document reader. Summary:Open Office document reader.
Description: Description:
Open Office document reader. Open Office document reader.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/TomTasche/OpenOffice-Document-Reader.git Repo:https://github.com/TomTasche/OpenOffice-Document-Reader.git
Build Version:1.1.9,11,243eba4f441b3601de96 Build Version:1.1.9,11,243eba4f441b3601de96
Build Version:1.2,12,d174bed05a6026ddb5db Build Version:1.2,12,d174bed05a6026ddb5db
Build Version:1.2.3,15,8fe022fd67e5bb62c6d8 Build Version:1.2.3,15,8fe022fd67e5bb62c6d8

View file

@ -1,20 +1,22 @@
License:GPLv3
Category:Office Category:Office
License:GPLv3
Web Site:http://sites.google.com/site/caldwellcode/ Web Site:http://sites.google.com/site/caldwellcode/
Source Code:http://code.google.com/p/trolly/source/checkout Source Code:http://code.google.com/p/trolly/source/checkout
Issue Tracker:http://code.google.com/p/trolly/issues/list Issue Tracker:http://code.google.com/p/trolly/issues/list
Summary:Shopping list application Summary:Shopping list application
Description: Description:
Trolly is a shopping list application with the aim of being a very simple Trolly is a shopping list application with the aim of being a very simple
app with no annoying or complicated features. It exposes intent filters to app with no annoying or complicated features. It exposes intent filters to
allow other apps to automatically add items to the shopping list. allow other apps to automatically add items to the shopping list.
. .
Repo Type:svn Repo Type:svn
Repo:http://trolly.googlecode.com/svn/trunk Repo:http://trolly.googlecode.com/svn/trunk
# It needs a file from OpenIntents, so let's get it from Subversion... # It needs a file from OpenIntents, so let's get it from Subversion...
Build Version:1.4,6,40,target=android-4,prebuild=mkdir -p src/org/openintents/intents && svn cat -r 3070 http://openintents.googlecode.com/svn/trunk/shoppinglist/ShoppingList/src/org/openintents/intents/ShoppingListIntents.java >src/org/openintents/intents/ShoppingListIntents.java Build Version:1.4,6,40,target=android-4,prebuild=mkdir -p src/org/openintents/intents && svn cat -r 3070 http://openintents.googlecode.com/svn/trunk/shoppinglist/ShoppingList/src/org/openintents/intents/ShoppingListIntents.java >src/org/openintents/intents/ShoppingListIntents.java
Use Built:Yes
Market Version:1.4 Market Version:1.4
Market Version Code:6 Market Version Code:6

View file

@ -1,18 +1,20 @@
Disabled:Source incomplete Disabled:Source incomplete
Category:None
License:GPLv2+ License:GPLv2+
Web Site:http://www.aptoide.com/ Web Site:http://www.aptoide.com/
Source Code:http://aptoide.org/trac Source Code:http://aptoide.org/trac
Issue Tracker:http://aptoide.org/trac Issue Tracker:http://aptoide.org/trac
Summary:A package installer. Summary:A package installer.
Description: Description:
Aptoide is a simple repository and package installer. F-Droid was originally Aptoide is a simple repository and package installer. F-Droid was originally
based on Aptoide! based on Aptoide!
. .
Market Version:2.0.1
Market Version Code:145
Repo Type:svn Repo Type:svn
Repo:http://aptoide.org/repo Repo:http://aptoide.org/repo
#Build Version:2.0,126,45,subdir=aptoide-client/v2.0 Market Version:2.0.1
Market Version Code:145
#Build Version:2.0,126,45,subdir=aptoide-client/v2.0

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:GPLv2
Category:System Category:System
License:GPLv2
Web Site:http://code.google.com/p/cyanogen-updater/ Web Site:http://code.google.com/p/cyanogen-updater/
Source Code:http://code.google.com/p/cyanogen-updater/source/checkout Source Code:http://code.google.com/p/cyanogen-updater/source/checkout
Issue Tracker:http://code.google.com/p/cyanogen-updater/issues/list Issue Tracker:http://code.google.com/p/cyanogen-updater/issues/list
Summary:Updater for CyanogenMod Summary:Updater for CyanogenMod
Description: Description:
An over-the-air updater for the CyanogenMod series of custom ROMs. Root An over-the-air updater for the CyanogenMod series of custom ROMs. Root
@ -14,7 +14,9 @@ Requires Root:Yes
Repo Type:svn Repo Type:svn
Repo:http://cyanogen-updater.googlecode.com/svn/trunk/ Repo:http://cyanogen-updater.googlecode.com/svn/trunk/
Build Version:5.0.1,501,626 Build Version:5.0.1,501,626
Market Version:5.0.1 Market Version:5.0.1
Market Version Code:501 Market Version Code:501

View file

@ -1,8 +1,9 @@
License:Apache2
Category:System Category:System
License:Apache2
Web Site:http://code.google.com/p/androidpermissions/ Web Site:http://code.google.com/p/androidpermissions/
Source Code:http://code.google.com/p/androidpermissions/source/checkout Source Code:http://code.google.com/p/androidpermissions/source/checkout
Issue Tracker:http://code.google.com/p/androidpermissions/issues/list Issue Tracker:http://code.google.com/p/androidpermissions/issues/list
Summary:Lists application permissions Summary:Lists application permissions
Description: Description:
This application shows all the available permissions on your phone in a big This application shows all the available permissions on your phone in a big
@ -10,9 +11,12 @@ list, highlighting those it considers dangerous. You can expand any of the
entries in the list to see what applications are using that particular entries in the list to see what applications are using that particular
permission. permission.
. .
Repo Type:svn Repo Type:svn
Repo:http://androidpermissions.googlecode.com/svn/trunk Repo:http://androidpermissions.googlecode.com/svn/trunk
Build Version:1.1,2,16 Build Version:1.1,2,16
Use Built:Yes
Market Version:1.1 Market Version:1.1
Market Version Code:2 Market Version Code:2

View file

@ -1,6 +1,9 @@
License:Apache2
Category:Office Category:Office
License:Apache2
Web Site:
Source Code:https://github.com/pakerfeldt/aGiro Source Code:https://github.com/pakerfeldt/aGiro
Issue Tracker:
Summary:OCR scanner for Swedish bills Summary:OCR scanner for Swedish bills
Description: Description:
Scans bills sent through Bankgiro or Plusgiro and send the result to a Scans bills sent through Bankgiro or Plusgiro and send the result to a
@ -8,12 +11,12 @@ server. The server component is available separately:
https://github.com/johannilsson/agiro-server https://github.com/johannilsson/agiro-server
. .
Repo Type: Repo Type:git
Repo:https://github.com/pakerfeldt/aGiro.git Repo:https://github.com/pakerfeldt/aGiro.git
Build Version:alpha 2,2,!repo moved and renamed 20bd0f021dd852afcc9aa9008ee713419ae8e05c Build Version:alpha 2,2,!repo moved and renamed 20bd0f021dd852afcc9aa9008ee713419ae8e05c
#Use Built:Yes
#Use Built:Yes
# The closest thing to a web site or issue tracker is this thread: # The closest thing to a web site or issue tracker is this thread:
# http://www.swedroid.se/forum/showthread.php?t=16305 # http://www.swedroid.se/forum/showthread.php?t=16305
#Web Site: #Web Site:

View file

@ -1,12 +1,15 @@
License:GPLv3
Category:Games Category:Games
License:GPLv3
Web Site:http://code.google.com/p/mandelbrot/ Web Site:http://code.google.com/p/mandelbrot/
Source Code:http://code.google.com/p/mandelbrot/source/checkout Source Code:http://code.google.com/p/mandelbrot/source/checkout
Issue Tracker: Issue Tracker:
Summary:Mandelbrot set viewer Summary:Mandelbrot set viewer
Description: Description:
Mandelbrot set viewer that works in the style of a map viewer - i.e. scroll around Mandelbrot set viewer that works in the style of a map viewer - i.e. scroll around
and zoom in/out. and zoom in/out.
. .
Market Version:0.13 Market Version:0.13
Market Version Code:13 Market Version Code:13

View file

@ -1,8 +1,9 @@
Use Built:Yes
Category:Office Category:Office
License:GPLv3 License:GPLv3
Web Site:http://code.google.com/p/timeriffic/ Web Site:http://code.google.com/p/timeriffic/
Source Code:http://code.google.com/p/timeriffic/source/checkout Source Code:http://code.google.com/p/timeriffic/source/checkout
Issue Tracker:
Summary:Auto-control settings on a schedule Summary:Auto-control settings on a schedule
Description: Description:
Allows you to set multiple schedules to control mute, vibrate, brightness, Allows you to set multiple schedules to control mute, vibrate, brightness,
@ -14,15 +15,13 @@ Repo:https://timeriffic.googlecode.com/hg/
#This previous version was svn from http://timeriffic.googlecode.com/svn/trunk/ #This previous version was svn from http://timeriffic.googlecode.com/svn/trunk/
#Build Version:1.09.03,10903,45,subdir=Timeriffic,oldsdkloc=yes #Build Version:1.09.03,10903,45,subdir=Timeriffic,oldsdkloc=yes
Build Version:1.09.05,10905,fc40dccbb9,subdir=Timeriffic,oldsdkloc=yes,novcheck=yes,bindir=Timeriffic/bin2 Build Version:1.09.05,10905,fc40dccbb9,subdir=Timeriffic,oldsdkloc=yes,novcheck=yes,bindir=Timeriffic/bin2
#NOTE: Far from obvious which commit corresponds to version 1.09.09. Also #NOTE: Far from obvious which commit corresponds to version 1.09.09. Also
#note the source tree re-org, which means some of the settings above need #note the source tree re-org, which means some of the settings above need
#to change, and also the switch to android-11 as a target. #to change, and also the switch to android-11 as a target.
Build Version:1.09.11,10911,!Can't find correct commit. See metadata notes too. Build Version:1.09.11,10911,!Can't find correct commit. See metadata notes too.
Build Version:1.09.12,10912,!No source for this in the repo Build Version:1.09.12,10912,!No source for this in the repo
Market Version:1.09.12 Market Version:1.09.12
Market Version Code:10912 Market Version Code:10912

View file

@ -1,15 +1,14 @@
Use Built:Yes
Category:Internet Category:Internet
License:GPLv3+ License:GPLv3+
Web Site:https://github.com/talklittle/reddit-is-fun Web Site:https://github.com/talklittle/reddit-is-fun
Source Code:https://github.com/talklittle/reddit-is-fun Source Code:https://github.com/talklittle/reddit-is-fun
Issue Tracker:https://github.com/talklittle/reddit-is-fun/issues Issue Tracker:https://github.com/talklittle/reddit-is-fun/issues
Summary:Reddit app Summary:Reddit app
Description: Description:
An app for the social news website Reddit. An app for the social news website Reddit.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/talklittle/reddit-is-fun.git Repo:https://github.com/talklittle/reddit-is-fun.git
@ -19,9 +18,10 @@ Build Version:1.1.4,69,9372d0ab3a16125e9045,prebuild=rsync -r lib/ libs
Build Version:1.2.0,70,442e604760506e25e6c9,prebuild=rsync -r lib/ libs Build Version:1.2.0,70,442e604760506e25e6c9,prebuild=rsync -r lib/ libs
Build Version:1.2.0a,71,e37439e12d11ff17a841,prebuild=rsync -r lib/ libs Build Version:1.2.0a,71,e37439e12d11ff17a841,prebuild=rsync -r lib/ libs
Build Version:1.2.1,73,e35fd128c954d41e24abf91b71f301740f6ca483,prebuild=rsync -r lib/ libs Build Version:1.2.1,73,e35fd128c954d41e24abf91b71f301740f6ca483,prebuild=rsync -r lib/ libs
Build Version:1.2.1.2,75,28c98a7,prebuild=rsync -r lib/ libs,target=android-9 Build Version:1.2.1.2,75,28c98a7,prebuild=rsync -r lib/ libs,target=android-10
Build Version:1.2.1.3,76,143892b558,prebuild=rsync -r lib/ libs,target=android-9 Build Version:1.2.1.3,76,143892b558,prebuild=rsync -r lib/ libs,target=android-10
Build Version:1.2.1.5,78,!more dependency shuffling required and watch out for the proguard config Build Version:1.2.1.5,78,!more dependency shuffling required and watch out for the proguard config
Market Version:1.2.1.5 Market Version:1.2.2b
Market Version Code:78 Market Version Code:82

View file

@ -1,18 +1,22 @@
License:Apache2
Category:System Category:System
License:Apache2
Web Site:http://code.google.com/p/scandinavian-keyboard/ Web Site:http://code.google.com/p/scandinavian-keyboard/
Source Code:http://code.google.com/p/scandinavian-keyboard/source/checkout Source Code:http://code.google.com/p/scandinavian-keyboard/source/checkout
Issue Tracker:http://code.google.com/p/scandinavian-keyboard/issues/list Issue Tracker:http://code.google.com/p/scandinavian-keyboard/issues/list
Summary:Keyboard for Scandinavian languages Summary:Keyboard for Scandinavian languages
Description: Description:
A modified version of the standard onscreen keyboard in Android A modified version of the standard onscreen keyboard in Android
with support for Norwegian, Swedish, Danish, Faroese, German, with support for Norwegian, Swedish, Danish, Faroese, German,
Icelandic and Northern Sámi keyboard layouts. Icelandic and Northern Sámi keyboard layouts.
. .
Repo Type:svn
Repo Type:git-svn
Repo:http://scandinavian-keyboard.googlecode.com/svn/trunk Repo:http://scandinavian-keyboard.googlecode.com/svn/trunk
Build Version:1.4.4,13,15,target=android-4 Build Version:1.4.4,13,15,target=android-4
Build Version:1.4.6,15,17,target=android-4 Build Version:1.4.6,15,17,target=android-4
Use Built:Yes
Market Version:1.4.6 Market Version:1.4.6
Market Version Code:15 Market Version Code:15

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:GPLv2
Category:Office Category:Office
License:GPLv2
Web Site:http://www.keepassdroid.com/ Web Site:http://www.keepassdroid.com/
Source Code:http://github.com/bpellin/keepassdroid Source Code:http://github.com/bpellin/keepassdroid
Issue Tracker:http://code.google.com/p/keepassdroid/issues/list Issue Tracker:http://code.google.com/p/keepassdroid/issues/list
Summary:KeePass-compatible password safe Summary:KeePass-compatible password safe
Description: Description:
A password safe, compatible with KeePass. A password safe, compatible with KeePass.

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:Apache2
Category:Office Category:Office
License:Apache2
Web Site:https://code.google.com/p/kraigsandroid/ Web Site:https://code.google.com/p/kraigsandroid/
Source Code:https://code.google.com/p/kraigsandroid/source/checkout Source Code:https://code.google.com/p/kraigsandroid/source/checkout
Issue Tracker:https://code.google.com/p/kraigsandroid/issues/list Issue Tracker:https://code.google.com/p/kraigsandroid/issues/list
Summary:An alarm clock Summary:An alarm clock
Description: Description:
An alarm clock. An alarm clock.
@ -16,3 +16,4 @@ Build Version:1.7,8,378
Market Version:1.7 Market Version:1.7
Market Version Code:8 Market Version Code:8

View file

@ -0,0 +1,25 @@
Category:System
License:LGPL
Web Site:https://sites.google.com/site/paranoidandroidproject/ContactOwner
Source Code:https://code.google.com/p/contactowner/source/browse/
Issue Tracker:https://code.google.com/p/contactowner/issues/list
Summary:Contact info on lock screen
Description:
Contact Owner is displays your (or a friend's) contact information on the "lock
screen" of your device, so that if you happen to lose it the finder will know
how to contact you. Select yourself (or your friend) from your list of contacts,
then select which information you want shown and (optionally) customize your
message. Contact Owner is a "fire and forget" tool: once you set it up, your
contact information will keep being displayed even after restarting your
device, as long as the application is installed.
.
Repo Type:git-svn
Repo:http://contactowner.googlecode.com/svn/branches/v2next/
Build Version:2.2,12,44,target=android-4
Market Version:2.2
Market Version Code:22

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:GPLv3+
Category:Internet Category:Internet
License:GPLv3+
Web Site:http://www.beem-project.com/ Web Site:http://www.beem-project.com/
Source Code:http://www.beem-project.com/projects/beem/repository Source Code:http://www.beem-project.com/projects/beem/repository
Issue Tracker:http://www.beem-project.com/projects/beem/issues Issue Tracker:http://www.beem-project.com/projects/beem/issues
Summary:XMPP client Summary:XMPP client
Description: Description:
Beem is an XMPP (Jabber) client. Beem is an XMPP (Jabber) client.
@ -17,3 +17,4 @@ Build Version:0.1.6,9,0.1.6
Market Version:0.1.6 Market Version:0.1.6
Market Version Code:9 Market Version Code:9

View file

@ -1,9 +1,9 @@
License:GPLv3
Category:Games Category:Games
License:GPLv3
Web Site:https://code.google.com/p/boardgamegeek/ Web Site:https://code.google.com/p/boardgamegeek/
Source Code:https://code.google.com/p/boardgamegeek/source/checkout Source Code:https://code.google.com/p/boardgamegeek/source/checkout
Issue Tracker:https://code.google.com/p/boardgamegeek/issues/list Issue Tracker:https://code.google.com/p/boardgamegeek/issues/list
Donate:
Summary:BoardGameGeek application Summary:BoardGameGeek application
Description: Description:
This app searches the board game data from boardgamegeek.com. It's not a game This app searches the board game data from boardgamegeek.com. It's not a game
@ -18,3 +18,4 @@ Build Version:3.4,21,r525,subdir=BoardGameGeek,target=android-8
Market Version:3.4 Market Version:3.4
Market Version Code:21 Market Version Code:21

View file

@ -0,0 +1,28 @@
Disabled:Non-free blob
AntiFeatures:Tracking
Category:Office
License:GPLv2
Web Site:https://code.google.com/p/daily-money/
Source Code:https://code.google.com/p/daily-money/source/browse/
Issue Tracker:https://code.google.com/p/daily-money/issues/list
Summary:Simple Finance Manager
Description:
Features:
* Record your daily expense, income, asset and liability
* Show and count the details
* Export/Import to CSV
* Pie and time chart of balance
.
Repo Type:svn
Repo:https://daily-money.googlecode.com/svn/trunk/
Market Version:0.9.7-0702-freshly
Market Version Code:2011070200
# Does not build yet
#Build Version:0.9.7-0702-freshly,2011070200,218,subdir=dailymoney-surface/,target=android-7,prebuild=\
# cp build.xml local.properties ../dailymoney/ && \
# cd ../dailymoney/ && \
# cp default.properties project.properties

View file

@ -1,23 +1,23 @@
Use Built:Yes
License:Apache2
Category:System Category:System
License:Apache2
Web Site:http://code.google.com/p/quick-settings/ Web Site:http://code.google.com/p/quick-settings/
Source Code:http://code.google.com/p/quick-settings/source/checkout Source Code:http://code.google.com/p/quick-settings/source/checkout
Issue Tracker:http://code.google.com/p/quick-settings/issues/list Issue Tracker:http://code.google.com/p/quick-settings/issues/list
Summary:System settings tool Summary:System settings tool
Description: Description:
Quick Settings provides quick access to various Android system Quick Settings provides quick access to various Android system
settings, such as WiFi, GPS, brightness and all the various volume settings, such as WiFi, GPS, brightness and all the various volume
controls. controls.
. .
Repo Type:svn Repo Type:svn
Repo:http://quick-settings.googlecode.com/svn/trunk/quick-settings/ Repo:http://quick-settings.googlecode.com/svn/trunk/quick-settings/
#Don't know why the market version has a slightly different version code...
Build Version:1.9.8 p2,201012061,!Different market code
Build Version:1.9.8 p2,201012060,184,target=android-8 Build Version:1.9.8 p2,201012060,184,target=android-8
Build Version:1.9.9.2,201106160,213,target=android-8 Build Version:1.9.9.2,201106160,213,target=android-8
Build Version:1.9.9.3,201107260,220,target=android-8 Build Version:1.9.9.3,201107260,220,target=android-8
Market Version:1.9.9.5 Market Version:1.9.9.5
Market Version Code:201110061 Market Version Code:201110061

View file

@ -1,13 +1,14 @@
Use Built:Yes
License:Apache2
Category:System Category:System
License:Apache2
Web Site:http://code.google.com/p/quick-settings/ Web Site:http://code.google.com/p/quick-settings/
Source Code:http://code.google.com/p/quick-settings/source/checkout Source Code:http://code.google.com/p/quick-settings/source/checkout
Issue Tracker:http://code.google.com/p/quick-settings/issues/list Issue Tracker:http://code.google.com/p/quick-settings/issues/list
Summary:Battery widget Summary:Battery widget
Description: Description:
A tiny widget that displays battery level both numerically and graphically. A tiny widget that displays battery level both numerically and graphically.
. .
Repo Type:svn Repo Type:svn
Repo:http://quick-settings.googlecode.com/svn/trunk/quick-battery/ Repo:http://quick-settings.googlecode.com/svn/trunk/quick-battery/
@ -15,3 +16,4 @@ Build Version:0.8.2,201010020,153,target=android-8
Market Version:0.8.2 Market Version:0.8.2
Market Version Code:201010020 Market Version Code:201010020

View file

@ -0,0 +1,20 @@
Category:Games
License:GPLv3
Web Site:https://code.google.com/p/simplechessclock/
Source Code:https://code.google.com/p/simplechessclock/source/browse/
Issue Tracker:https://code.google.com/p/simplechessclock/issues/list
Summary:Simple chess clock
Description:
Simple Chess Clock does what it says! It is designed for touchscreen Android
devices, and provides a simple, clear interface and easy interaction.
.
Repo Type:hg
Repo:https://code.google.com/p/simplechessclock/
Build Version:1.2.0,8,379155447bff,subdir=simplechessclock,target=android-8
Market Version:1.2.0
Market Version Code:8

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:GPLv2
Category:Internet Category:Internet
License:GPLv2
Web Site:https://launchpad.net/arxivdroid Web Site:https://launchpad.net/arxivdroid
Source Code:http://bazaar.launchpad.net/~jdeslip/arxivdroid/trunk/files Source Code:http://bazaar.launchpad.net/~jdeslip/arxivdroid/trunk/files
Issue Tracker: Issue Tracker:
Summary:arxiv.org client Summary:arxiv.org client
Description: Description:
Official arxiv.org client with widget Official arxiv.org client with widget
@ -13,7 +13,7 @@ Repo Type:bzr
Repo:lp:arxivdroid Repo:lp:arxivdroid
Build Version:2.0.4,90,!94 but doesn't compile due to apparently missing resource,target=android-11 Build Version:2.0.4,90,!94 but doesn't compile due to apparently missing resource,target=android-11
Build Version:2.0.6,92,95,target=android-11 Build Version:2.0.6,92,95,target=android-11,prebuild=sed -i -e "/key\.alias.*/d" -e "/key\.store.*/d" *.properties
Build Version:2.0.10,96,!No source in repo,target=android-11 Build Version:2.0.10,96,!No source in repo,target=android-11
Build Version:2.0.14,100,!No source in repo,target=android-11 Build Version:2.0.14,100,!No source in repo,target=android-11
Build Version:2.0.16,102,!No source in repo,target=android-11 Build Version:2.0.16,102,!No source in repo,target=android-11
@ -23,3 +23,4 @@ Build Version:2.0.20,106,!No source in repo
Market Version:2.0.20 Market Version:2.0.20
Market Version Code:106 Market Version Code:106

View file

@ -1,9 +1,10 @@
License:GPLv3
Category:Internet Category:Internet
License:GPLv3
Web Site:http://code.google.com/p/csipsimple/ Web Site:http://code.google.com/p/csipsimple/
Source Code:http://code.google.com/p/csipsimple/source/checkout Source Code:http://code.google.com/p/csipsimple/source/checkout
Issue Tracker:http://code.google.com/p/csipsimple/issues/list Issue Tracker:http://code.google.com/p/csipsimple/issues/list
Donate:http://code.google.com/p/csipsimple/wiki/Donate Donate:http://code.google.com/p/csipsimple/wiki/Donate
Summary:SIP (VOIP) client Summary:SIP (VOIP) client
Description: Description:
A SIP (VOIP) client. A SIP (VOIP) client.
@ -11,6 +12,6 @@ A SIP (VOIP) client.
#Note : build needs a customised ndk, as described at: #Note : build needs a customised ndk, as described at:
# http://code.google.com/p/csipsimple/wiki/HowToBuild # http://code.google.com/p/csipsimple/wiki/HowToBuild
Market Version:0.03-01 Market Version:0.03-01
Market Version Code:1108 Market Version Code:1108

View file

@ -1,16 +1,17 @@
License:Apache2
Category:Multimedia Category:Multimedia
License:Apache2
Web Site:http://code.google.com/p/android-squeezer/ Web Site:http://code.google.com/p/android-squeezer/
Source Code:https://github.com/bradfitz/android-squeezer Source Code:https://github.com/bradfitz/android-squeezer
Issue Tracker:http://code.google.com/p/android-squeezer/issues/list Issue Tracker:http://code.google.com/p/android-squeezer/issues/list
Summary:Squeezebox remote control app Summary:Squeezebox remote control app
Description: Description:
Control your SqueezeCenter ("Slimserver") and Squeezebox (or multiple Control your SqueezeCenter ("Slimserver") and Squeezebox (or multiple
squeezeboxes) from your Android phone. squeezeboxes) from your Android phone.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/bradfitz/android-squeezer.git Repo:https://github.com/bradfitz/android-squeezer.git
Use Built:Yes
Build Version:0.5,5,df0ffda7ae6370f22847ea9e764d81802eeaf545,\ Build Version:0.5,5,df0ffda7ae6370f22847ea9e764d81802eeaf545,\
prebuild=sed -r -i \ prebuild=sed -r -i \
@ -20,3 +21,4 @@ oldsdkloc=yes,target=android-4
Market Version:0.5 Market Version:0.5
Market Version Code:5 Market Version Code:5

View file

@ -1,19 +1,19 @@
Disabled: Need to deal with possible trademark issues due us forking the project. Disabled: Need to deal with possible trademark issues due us forking the project.
License:GPLv3
Category:Internet Category:Internet
License:GPLv3
Web Site:http://code.google.com/p/feeddroid/ Web Site:http://code.google.com/p/feeddroid/
Source Code:http://gitorious.org/feeddroid/feeddroid Source Code:http://gitorious.org/feeddroid/feeddroid
Issue Tracker: Issue Tracker:
Summary:RSS feed reader/podcatcher Summary:RSS feed reader/podcatcher
Description: Description:
An RSS feed reader and podcatcher with audio and video support. An RSS feed reader and podcatcher with audio and video support.
. .
Repo Type:git Repo Type:git
Repo:http://git.gitorious.org/feeddroid/feeddroid.git Repo:http://git.gitorious.org/feeddroid/feeddroid.git
#Build Version:1.1.1,37,db5077bf1ef792d8d5f6154198b7200a50d963df,subdir=FeedDroid #Build Version:1.1.1,37,db5077bf1ef792d8d5f6154198b7200a50d963df,subdir=FeedDroid
Market Version:1.1.1 Market Version:1.1.1
Market Version Code:37 Market Version Code:37

View file

@ -1,18 +1,20 @@
Use Built:Yes
License:GPLv3
Category:Games Category:Games
License:GPLv3
Web Site:https://github.com/dozingcat/Vector-Pinball Web Site:https://github.com/dozingcat/Vector-Pinball
Source Code:https://github.com/dozingcat/Vector-Pinball Source Code:https://github.com/dozingcat/Vector-Pinball
Issue Tracker:https://github.com/dozingcat/Vector-Pinball/issues Issue Tracker:https://github.com/dozingcat/Vector-Pinball/issues
Donate:
Summary:Pinball game Summary:Pinball game
Description: Description:
Vector Pinball is a pinball game. Vector Pinball is a pinball game.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/dozingcat/Vector-Pinball.git Repo:https://github.com/dozingcat/Vector-Pinball.git
Build Version:1.1,4,45b5218594320ffb4b37 Build Version:1.1,4,45b5218594320ffb4b37
Build Version:1.3,10,1210949b1e373916d096 Build Version:1.3,10,1210949b1e373916d096
Market Version:1.3.1 Market Version:1.3.1
Market Version Code:11 Market Version Code:11

View file

@ -1,19 +1,20 @@
Disabled:Ads Disabled:Ads
AntiFeatures:Ads AntiFeatures:Ads
License:GPLv2+
Category:Games Category:Games
License:GPLv2+
Web Site:http://tuxrider.drodin.com/ Web Site:http://tuxrider.drodin.com/
Source Code:https://github.com/drodin/TuxRider Source Code:https://github.com/drodin/TuxRider
Issue Tracker:https://github.com/drodin/TuxRider/issues Issue Tracker:https://github.com/drodin/TuxRider/issues
Summary:Racing Game Summary:Racing Game
Description: Description:
A Tux Racer clone. A Tux Racer clone.
. .
Repo Type:git Repo Type:git
Repo:git://github.com/drodin/TuxRider.git Repo:git://github.com/drodin/TuxRider.git
#Build Version:1.0.4 beta,6,67bce39cda321c225bc5 #Build Version:1.0.4 beta,6,67bce39cda321c225bc5
Market Version:1.0.9 Market Version:1.0.9
Market Version Code:11 Market Version Code:11

View file

@ -1,18 +1,20 @@
Disabled:No release available Disabled:No release available
Use Built:Yes Category:None
License:MIT License:MIT
Web Site:https://bitbucket.org/giszmo/offline-calendar/overview Web Site:https://bitbucket.org/giszmo/offline-calendar/overview
Source Code:https://bitbucket.org/giszmo/offline-calendar/src Source Code:https://bitbucket.org/giszmo/offline-calendar/src
Issue Tracker:https://bitbucket.org/giszmo/offline-calendar/issues?status=new&status=open Issue Tracker:https://bitbucket.org/giszmo/offline-calendar/issues?status=new&status=open
Summary:Calendar Summary:Calendar
Description: Description:
A calendar application. A calendar application.
. .
Repo Type:hg Repo Type:hg
Repo:https://bitbucket.org/giszmo/offline-calendar Repo:https://bitbucket.org/giszmo/offline-calendar
#There don't seem to be any developer releases yet #There don't seem to be any developer releases yet
#There is now a 1.1 in the android market, but no source for it in the repository #There is now a 1.1 in the android market, but no source for it in the repository
Market Version:1.1 Market Version:1.1
Market Version Code:2 Market Version Code:2

View file

@ -1,14 +1,15 @@
Use Built:Yes
License:GPLv3+
Category:System Category:System
License:GPLv3+
Web Site:http://anetmon.sourceforge.net/ Web Site:http://anetmon.sourceforge.net/
Source Code:http://sourceforge.net/projects/anetmon/develop Source Code:http://sourceforge.net/projects/anetmon/develop
Issue Tracker:http://sourceforge.net/tracker/?group_id=288036 Issue Tracker:http://sourceforge.net/tracker/?group_id=288036
Summary:Network event logger Summary:Network event logger
Description: Description:
Shows various network status information and optionally logs it to a Shows various network status information and optionally logs it to a
CSV file to assist in troubleshooting. CSV file to assist in troubleshooting.
. .
Repo Type:svn Repo Type:svn
Repo:https://anetmon.svn.sourceforge.net/svnroot/anetmon/ Repo:https://anetmon.svn.sourceforge.net/svnroot/anetmon/

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:GPLv3+
Category:Office Category:Office
License:GPLv3+
Web Site:http://github.com/eleybourn/Book-Catalogue/wiki Web Site:http://github.com/eleybourn/Book-Catalogue/wiki
Source Code:http://github.com/eleybourn/Book-Catalogue Source Code:http://github.com/eleybourn/Book-Catalogue
Issue Tracker:http://github.com/eleybourn/Book-Catalogue/issues Issue Tracker:http://github.com/eleybourn/Book-Catalogue/issues
Summary:Book cataloguing application Summary:Book cataloguing application
Description: Description:
This is a simple book catalogue application, to store a list of your books. Books can be added either manually, by ISBN, or by barcode. This is a simple book catalogue application, to store a list of your books. Books can be added either manually, by ISBN, or by barcode.
@ -11,21 +11,21 @@ This is a simple book catalogue application, to store a list of your books. Book
Repo Type:git Repo Type:git
Repo:git://github.com/eleybourn/Book-Catalogue.git Repo:git://github.com/eleybourn/Book-Catalogue.git
Build Version:3.0.1,36,b876c6df82c7e195ec5d,patch=percent-in-strings.patch Build Version:3.0.1,36,b876c6df82c7e195ec5d,patch=percent-in-strings.patch
Build Version:3.0,35,448858bad8b397974db7,patch=percent-in-strings.patch Build Version:3.0,35,448858bad8b397974db7,patch=percent-in-strings.patch
Build Version:3.3,47,50379da3ee1f7e95679a Build Version:3.3,47,50379da3ee1f7e95679a
Build Version:3.3.1,48,!No source - see https://github.com/eleybourn/Book-Catalogue/issues/162/#issue/162/comment/821843 Build Version:3.3.1,48,!No source - see https://github.com/eleybourn/Book-Catalogue/issues/162/#issue/162/comment/821843
Build Version:3.4,49,ef03c165bdc34e6be1f6 Build Version:3.4,49,ef03c165bdc34e6be1f6
Build Version:3.4.2,51,f802cfb067684b78f195 Build Version:3.4.2,51,f802cfb067684b78f195
Build Version:3.5.1,53,52ba5015693ae0b2696e Build Version:3.5.1,53,52ba5015693ae0b2696e
Build Version:3.5.6,57,!version code incorrect in source repo - 57 does not exist Build Version:3.5.6,57,!version code incorrect in source repo - 57 does not exist
Build Version:3.6,59,0f22f87a308190d74fab,target=android-9 Build Version:3.6,59,0f22f87a308190d74fab,target=android-10
Build Version:3.6.1,61,75e2f8328ff9a2602fe1,target=android-9 Build Version:3.6.1,61,75e2f8328ff9a2602fe1,target=android-10
Build Version:3.6.2,62,da37baecb2c90aa2b306,target=android-9 Build Version:3.6.2,62,da37baecb2c90aa2b306,target=android-10
Build Version:3.7,68,514799b45d18cf6dbc42065adf08abbdc9e2f16f,target=android-9 Build Version:3.7,68,514799b45d18cf6dbc42065adf08abbdc9e2f16f,target=android-10
Build Version:3.8,69,bb85065cb6045df773cd681ac8bad55a6818d48a,target=android-9 Build Version:3.8,69,bb85065cb6045df773cd681ac8bad55a6818d48a,target=android-10
Build Version:3.8.1,70,890b6affe8a64,target=android-9 Build Version:3.8.1,70,890b6affe8a64,target=android-10
Market Version:3.8.1 Market Version:3.8.1
Market Version Code:70 Market Version Code:70

View file

@ -0,0 +1,20 @@
Category:System
License:GPLv2
Web Site:http://episode6.wordpress.com/2010/03/27/appalarm/
Source Code:https://github.com/ghackett/AppAlarm
Issue Tracker:https://github.com/ghackett/AppAlarm/issues
Summary:App Alarm
Description:
Turn any app into an Alarm Clock.
Schedule any app for anytime.
.
Repo Type:git
Repo:https://github.com/ghackett/AppAlarm
Build Version:1.2.6,30,af9d89993212c67bfc510ed082381afc7abcd95a
Market Version:1.2.6
Market Version Code:30

View file

@ -1,9 +1,10 @@
Use Built:Yes
License:Apache2
Category:Office Category:Office
License:Apache2
Web Site:http://evancharlton.com/projects/mileage/ Web Site:http://evancharlton.com/projects/mileage/
Source Code:http://evancharlton.com/projects/mileage/source/ Source Code:http://evancharlton.com/projects/mileage/source/
Issue Tracker:
Donate:http://evancharlton.com/donate/ Donate:http://evancharlton.com/donate/
Summary:A Mileage tracker Summary:A Mileage tracker
Description: Description:
A Mileage tracker for an Android-based phone. Allows importing and A Mileage tracker for an Android-based phone. Allows importing and
@ -17,6 +18,6 @@ Repo:http://hg.evancharlton.com/mileage
Build Version:3.0.0,3000,0766c4f352a5,subdir=trunk,oldsdkloc=yes Build Version:3.0.0,3000,0766c4f352a5,subdir=trunk,oldsdkloc=yes
Build Version:3.0.8,3080,!No source in repo Build Version:3.0.8,3080,!No source in repo
Market Version:3.0.8 Market Version:3.0.8
Market Version Code:3080 Market Version Code:3080

View file

@ -1,18 +1,20 @@
License:EPL
Category:System Category:System
License:EPL
Web Site:http://code.google.com/p/lcarswallpaper/ Web Site:http://code.google.com/p/lcarswallpaper/
Source Code:http://code.google.com/p/lcarswallpaper/source/checkout Source Code:http://code.google.com/p/lcarswallpaper/source/checkout
Issue Tracker:http://code.google.com/p/lcarswallpaper/issues/list Issue Tracker:http://code.google.com/p/lcarswallpaper/issues/list
Summary:LCARS live wallpaper Summary:LCARS live wallpaper
Description: Description:
Star Trek LCARS themed live wallpaper for Android 2.1+ devices that shows Star Trek LCARS themed live wallpaper for Android 2.1+ devices that shows
various system information. various system information.
. .
Repo Type:svn Repo Type:svn
Repo:http://lcarswallpaper.googlecode.com/svn/trunk/lcarswallpaper Repo:http://lcarswallpaper.googlecode.com/svn/trunk/lcarswallpaper
Use Built:Yes
# The manifest has no version code, so let's use the SVN revision number. # The manifest has no version code, so let's use the SVN revision number.
Build Version:1.0.2,35,35,\ Build Version:1.0.2,35,35,\
prebuild=sed -i -r 's/(android:versionName)/android:versionCode="35" \1/' \ prebuild=sed -i -r 's/(android:versionName)/android:versionCode="35" \1/' \
AndroidManifest.xml AndroidManifest.xml

View file

@ -1,17 +1,18 @@
Use Built:Yes Disabled: Doesn't built at the moment.
License:GPLv3
Category:Office Category:Office
License:GPLv3
Web Site:https://launchpad.net/weightchart Web Site:https://launchpad.net/weightchart
Source Code:https://code.launchpad.net/~rheo/weightchart/trunk Source Code:https://code.launchpad.net/~rheo/weightchart/trunk
Issue Tracker:https://bugs.launchpad.net/weightchart Issue Tracker:https://bugs.launchpad.net/weightchart
Summary:Logs your body weight Summary:Logs your body weight
Disabled: Doesn't built at the moment.
Description: Description:
Keep a personal log of body weight and display as a chart. Keep a personal log of body weight and display as a chart.
. .
Repo Type:bzr Repo Type:bzr
Repo:lp:weightchart Repo:lp:weightchart
Build Version:1,1,1,target=8 Build Version:1,1,1,target=8

View file

@ -1,8 +1,9 @@
License:Apache2
Category:Internet Category:Internet
License:Apache2
Web Site:http://code.google.com/p/k9mail/ Web Site:http://code.google.com/p/k9mail/
Source Code:https://github.com/k9mail/k-9 Source Code:https://github.com/k9mail/k-9
Issue Tracker:http://code.google.com/p/k9mail/issues/list Issue Tracker:http://code.google.com/p/k9mail/issues/list
Summary:Full-featured email client Summary:Full-featured email client
Description: Description:
Email client supporting multiple accounts, POP3, IMAP, Push IMAP. Packed with Email client supporting multiple accounts, POP3, IMAP, Push IMAP. Packed with
@ -14,6 +15,7 @@ Repo:https://github.com/k9mail/k-9.git
#Note - k9 is currently developer's binary only #Note - k9 is currently developer's binary only
#Build Version:3.906,14006,3.906,oldsdkloc=yes,patch=target9to10.patch,target=android-10 #Build Version:3.906,14006,3.906,oldsdkloc=yes,patch=target9to10.patch,target=android-10
Update Check Mode:Market
Market Version:4.003
Market Version Code:14021
Market Version:4.002
Market Version Code:14020

View file

@ -1,19 +1,20 @@
Use Built:Yes
License:AGPLv3
Category:Office Category:Office
License:AGPLv3
Web Site:http://www.funambol.com Web Site:http://www.funambol.com
Source Code:https://android-client.forge.funambol.org/source/browse/android-client/ Source Code:https://android-client.forge.funambol.org/source/browse/android-client/
Issue Tracker: Issue Tracker:
Summary:Funambol sync client Summary:Funambol sync client
Description:Sync Client Description:
Funambol sync client. Funambol sync client.
. .
Repo Type:svn Repo Type:svn
Repo:guest:x@https://android-client.forge.funambol.org/svn/android-client/ Repo:guest:x@https://android-client.forge.funambol.org/svn/android-client/
Build Version:8.7.3,8,1032,subdir=tags/8.7.3,update=no,initfun=yes Build Version:8.7.3,8,1032,subdir=tags/8.7.3,update=no,initfun=yes
Build Version:9.0.1,9,1437,subdir=tags/9.0.1,update=no,initfun=yes Build Version:9.0.1,9,1437,subdir=tags/9.0.1,update=no,initfun=yes
Build Version:9.0.3,10,1546,subdir=tags/9.0.3,update=no,initfun=yes Build Version:9.0.3,10,1547,subdir=tags/9.0.3,update=no,initfun=yes
Build Version:10.0.4,14,2162,subdir=tags/10.0.4,update=no,initfun=yes Build Version:10.0.4,14,2162,subdir=tags/10.0.4,update=no,initfun=yes
Build Version:10.0.5,15,2211,subdir=tags/10.0.5,update=no,initfun=yes Build Version:10.0.5,15,2211,subdir=tags/10.0.5,update=no,initfun=yes
Build Version:10.0.6,16,2337,subdir=tags/10.0.6,update=no,initfun=yes Build Version:10.0.6,16,2337,subdir=tags/10.0.6,update=no,initfun=yes
@ -23,7 +24,6 @@ Build Version:10.0.6,16,2337,subdir=tags/10.0.6,update=no,initfun=yes
#Source is now accessible, but the build is failing without an obvious error. #Source is now accessible, but the build is failing without an obvious error.
#Need to look at this again. #Need to look at this again.
#Build Version:10.0.7,17,2671,subdir=tags/10.0.7,update=no,initfun=yes #Build Version:10.0.7,17,2671,subdir=tags/10.0.7,update=no,initfun=yes
Market Version:10.0.7 Market Version:10.0.7
Market Version Code:17 Market Version Code:17

View file

@ -1,8 +1,9 @@
License:GPLv3
Category:System Category:System
License:GPLv3
Web Site:http://sites.google.com/site/ghostcommander1/ Web Site:http://sites.google.com/site/ghostcommander1/
Source Code:http://sourceforge.net/projects/ghostcommander/develop Source Code:http://sourceforge.net/projects/ghostcommander/develop
Issue Tracker:http://sourceforge.net/tracker/?group_id=311417 Issue Tracker:http://sourceforge.net/tracker/?group_id=311417
Summary:Dual-panel file manager Summary:Dual-panel file manager
Description: Description:
Dual panel file manager, like Norton Commander, Midnight Commander or Dual panel file manager, like Norton Commander, Midnight Commander or
@ -14,18 +15,18 @@ files to/from FTP servers and SMB network shares (with plug-in). It
given root privileges, it offers additional functionality, such as given root privileges, it offers additional functionality, such as
remounting filesystems. remounting filesystems.
. .
Repo Type:svn Repo Type:svn
Repo:https://ghostcommander.svn.sourceforge.net/svnroot/ghostcommander Repo:https://ghostcommander.svn.sourceforge.net/svnroot/ghostcommander
Use Built:Yes
Build Version:1.35.1b5,97,141,\ Build Version:1.35.1b5,97,141,\
prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml
# All commit messages are empty, so I'm just guessing the revision. # All commit messages are empty, so I'm just guessing the revision.
Build Version:1.35,94,131,\ Build Version:1.35,94,131,\
prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml
Build Version:1.36.4,110,161,\ Build Version:1.36.4,110,161,\
prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml prebuild=sed -ri 's/(debuggable)="true"/\1="false"/' AndroidManifest.xml
Market Version:1.39.2 Market Version:1.39.3
Market Version Code:152 Market Version Code:154

View file

@ -1,7 +1,15 @@
Disabled:No license - it's "Open Source" whatever that means Disabled:No license - it's "Open Source" whatever that means
Category:Internet
License:Unknown
Web Site:http://gluegadget.com/hndroid/ Web Site:http://gluegadget.com/hndroid/
Source Code:https://github.com/amir/HNdroid Source Code:https://github.com/amir/HNdroid
Category:Internet Issue Tracker:
Summary:
Description:
No description available
.
Market Version:0.4 Market Version:0.4
Market Version Code:5 Market Version Code:5

View file

@ -1,13 +1,14 @@
Use Built:Yes
License:GPLv2
Category:System Category:System
License:GPLv2
Web Site:http://diskusage.googlecode.com/ Web Site:http://diskusage.googlecode.com/
Source Code:http://code.google.com/p/diskusage/source/checkout Source Code:http://code.google.com/p/diskusage/source/checkout
Issue Tracker:http://code.google.com/p/diskusage/issues/list Issue Tracker:http://code.google.com/p/diskusage/issues/list
Summary:Visual disk usage explorer Summary:Visual disk usage explorer
Description: Description:
Visually explore used and free space on internal and external storage. Visually explore used and free space on internal and external storage.
. .
Repo Type:svn Repo Type:svn
Repo:http://diskusage.googlecode.com/svn/trunk/ Repo:http://diskusage.googlecode.com/svn/trunk/
@ -22,3 +23,4 @@ Build Version:3.2,3020,69,prebuild=mkdir libs && cp extra/system.jar libs/
Market Version:3.2 Market Version:3.2
Market Version Code:3020 Market Version Code:3020

View file

@ -1,11 +1,11 @@
Disabled:Needs google maps API key, and some build problems resolving Disabled:Needs google maps API key, and some build problems resolving
Use Built:Yes
License:Apache2
AntiFeatures:NonFreeDep AntiFeatures:NonFreeDep
Category:Navigation Category:Navigation
License:Apache2
Web Site:http://code.google.com/p/mytracks/ Web Site:http://code.google.com/p/mytracks/
Source Code:http://code.google.com/p/mytracks/source/checkout Source Code:http://code.google.com/p/mytracks/source/checkout
Issue Tracker:http://code.google.com/p/mytracks/issues/list Issue Tracker:http://code.google.com/p/mytracks/issues/list
Summary:A GPS logger. Summary:A GPS logger.
Description: Description:
MyTracks is a GPS logger. MyTracks is a GPS logger.
@ -15,12 +15,11 @@ Repo Type:hg
Repo:https://mytracks.googlecode.com/hg/ Repo:https://mytracks.googlecode.com/hg/
Build Version:1.1.0,23,a86a640f2d,subdir=MyTracks Build Version:1.1.0,23,a86a640f2d,subdir=MyTracks
Build Version:1.1.3,26,!Doesn't build - needs dependencies building now I think Build Version:1.1.3,26,!Doesn't build - needs dependencies building now I think
#Build Version:1.1.3,26,62821d45032d,subdir=MyTracks,target=android-9,encoding=utf-8
#Build Version:1.1.3,26,62821d45032d,subdir=MyTracks,target=android-10,encoding=utf-8
#Still doesn't build... #Still doesn't build...
#Build Version:1.1.9,22,v1.1.9,subdir=MyTracks,encoding=utf-8,target=android-13 #Build Version:1.1.9,22,v1.1.9,subdir=MyTracks,encoding=utf-8,target=android-13
Market Version:1.1.13 Market Version:1.1.13
Market Version Code:36 Market Version Code:36

View file

@ -1,9 +1,10 @@
License:GPLv3+
Category:System Category:System
License:GPLv3+
Web Site:http://sites.google.com/site/appsorganizer/ Web Site:http://sites.google.com/site/appsorganizer/
Source Code:http://code.google.com/p/appsorganizer/source/checkout Source Code:http://code.google.com/p/appsorganizer/source/checkout
Issue Tracker:http://code.google.com/p/appsorganizer/issues/list Issue Tracker:http://code.google.com/p/appsorganizer/issues/list
Donate:http://sites.google.com/site/appsorganizer/donate Donate:http://sites.google.com/site/appsorganizer/donate
Summary:Organize applications using labels Summary:Organize applications using labels
Description: Description:
Apps Organizer allows you to organize installed applications using Apps Organizer allows you to organize installed applications using
@ -18,7 +19,8 @@ Build Version:1.5.14,162,184,subdir=AppsOrganizer
Build Version:1.5.15,163,185,subdir=AppsOrganizer Build Version:1.5.15,163,185,subdir=AppsOrganizer
Build Version:1.5.16,164,187,subdir=AppsOrganizer Build Version:1.5.16,164,187,subdir=AppsOrganizer
Build Version:1.5.18,166,190,subdir=AppsOrganizer Build Version:1.5.18,166,190,subdir=AppsOrganizer
Build Version:1.5.19,167,191,subdir=AppsOrganizer,target=android-9 Build Version:1.5.19,167,191,subdir=AppsOrganizer,target=android-10
Market Version:1.5.19 Market Version:1.5.19
Market Version Code:167 Market Version Code:167

View file

@ -1,8 +1,9 @@
License:Apache2
Category:Multimedia Category:Multimedia
License:Apache2
Web Site:http://code.google.com/p/zxing/ Web Site:http://code.google.com/p/zxing/
Source Code:http://code.google.com/p/zxing/source/checkout Source Code:http://code.google.com/p/zxing/source/checkout
Issue Tracker:http://code.google.com/p/zxing/issues/list Issue Tracker:http://code.google.com/p/zxing/issues/list
Summary:Barcode scanner Summary:Barcode scanner
Description: Description:
Barcode scanner from ZXing. Barcode scanner from ZXing.
@ -10,3 +11,4 @@ Barcode scanner from ZXing.
Market Version:3.72 Market Version:3.72
Market Version Code:76 Market Version Code:76

View file

@ -1,11 +1,9 @@
Use Built:Yes
License:GPLv3
Category:Internet Category:Internet
License:GPLv3
Web Site:http://openbmap.org Web Site:http://openbmap.org
Source Code:http://sourceforge.net/scm/?type=git&group_id=218065 Source Code:http://sourceforge.net/scm/?type=git&group_id=218065
Issue Tracker:http://sourceforge.net/tracker/?group_id=218065 Issue Tracker:http://sourceforge.net/tracker/?group_id=218065
Donate:
Summary:OpenBMap Data Contribution Summary:OpenBMap Data Contribution
Description: Description:
Provides the ability to record cellular and WiFi locations and upload them Provides the ability to record cellular and WiFi locations and upload them
@ -15,8 +13,9 @@ to the OpenBMap database. See http://openbmap.org.
Repo Type:git Repo Type:git
Repo:git://myposition.git.sourceforge.net/gitroot/myposition/AndroidClient Repo:git://myposition.git.sourceforge.net/gitroot/myposition/AndroidClient
Build Version:0.4.96,9,bc15ce80024d7f53897fd10e6ea0cc914d0ba226,prebuild=mv lib libs,target=android-9 Build Version:0.4.96,9,bc15ce80024d7f53897fd10e6ea0cc914d0ba226,prebuild=mv lib libs,target=android-10
Build Version:0.4.991,13,!Source is not there - see https://sourceforge.net/tracker/?func=detail&aid=3374951&group_id=218065&atid=1043257 Build Version:0.4.991,13,!Source is not there - see https://sourceforge.net/tracker/?func=detail&aid=3374951&group_id=218065&atid=1043257
Market Version:0.4.991 Market Version:0.4.991
Market Version Code:13 Market Version Code:13

View file

@ -1,8 +1,9 @@
License:Apache2
Category:Multimedia Category:Multimedia
License:Apache2
Web Site:http://code.google.com/p/chartdroid/ Web Site:http://code.google.com/p/chartdroid/
Source Code:http://code.google.com/p/chartdroid/source/checkout Source Code:http://code.google.com/p/chartdroid/source/checkout
Issue Tracker:http://code.google.com/p/chartdroid/issues/list Issue Tracker:http://code.google.com/p/chartdroid/issues/list
Summary:Chart engine Summary:Chart engine
Description: Description:
ChartDroid is an Intent-based "library application" for static chart and ChartDroid is an Intent-based "library application" for static chart and
@ -10,9 +11,12 @@ graph generation on Android. Other applications can use it to
graph/plot/display numerical data in many representations by implementing a graph/plot/display numerical data in many representations by implementing a
ContentProvider. ContentProvider.
. .
Repo Type:svn Repo Type:svn
Repo:http://chartdroid.googlecode.com/svn/trunk/core Repo:http://chartdroid.googlecode.com/svn/trunk/core
Build Version:2.0.0,18,294 Build Version:2.0.0,18,294
Use Built:Yes
Market Version:2.0.0 Market Version:2.0.0
Market Version Code:18 Market Version Code:18

View file

@ -1,9 +1,9 @@
Use Built:Yes
Category:System Category:System
License:GPLv3 License:GPLv3
Web Site:http://code.google.com/p/droidwall/ Web Site:http://code.google.com/p/droidwall/
Source Code:http://code.google.com/p/droidwall/source/checkout Source Code:http://code.google.com/p/droidwall/source/checkout
Issue Tracker:http://code.google.com/p/droidwall/issues/list Issue Tracker:http://code.google.com/p/droidwall/issues/list
Summary:Firewall Summary:Firewall
Description: Description:
A Firewall frontend based on iptables A Firewall frontend based on iptables
@ -11,7 +11,6 @@ A Firewall frontend based on iptables
NOTE: Root access is required to use this application. NOTE: Root access is required to use this application.
. .
Requires Root:Yes Requires Root:Yes
Repo Type:svn Repo Type:svn
@ -23,6 +22,6 @@ Build Version:1.4.8,148,156
Build Version:1.5.3,153,219 Build Version:1.5.3,153,219
Build Version:1.5.6,156,245,target=android-8 Build Version:1.5.6,156,245,target=android-8
Market Version:1.5.6 Market Version:1.5.6
Market Version Code:156 Market Version Code:156

View file

@ -1,13 +1,16 @@
License:LGPL
Category:System Category:System
License:LGPL
Web Site:http://code.google.com/p/talkmyphone/ Web Site:http://code.google.com/p/talkmyphone/
Source Code:http://code.google.com/p/talkmyphone/source/checkout Source Code:http://code.google.com/p/talkmyphone/source/checkout
Issue Tracker:http://code.google.com/p/talkmyphone/issues/list Issue Tracker:http://code.google.com/p/talkmyphone/issues/list
Summary:Remote control of phone by XMPP Summary:Remote control of phone by XMPP
Description: Description:
Allows you to send commands to your device remotely, via the XMPP protocol. Allows you to send commands to your device remotely, via the XMPP protocol.
You can also receive information, such as incoming calls and SMS, and You can also receive information, such as incoming calls and SMS, and
battery state. battery state.
. .
Market Version:2.06-beta Market Version:2.06-beta
Market Version Code:17 Market Version Code:17

View file

@ -1,9 +1,10 @@
Name:Andor's Trail Category:Games
License:GPLv2 License:GPLv2
Web Site:http://andors.techby2guys.com/ Web Site:http://andors.techby2guys.com/
Source Code:http://code.google.com/p/andors-trail/ Source Code:http://code.google.com/p/andors-trail/
Issue Tracker:http://code.google.com/p/andors-trail/issues/list Issue Tracker:http://code.google.com/p/andors-trail/issues/list
Category:Games
Name:Andor's Trail
Summary:Quest-driven Roguelike fantasy dungeon crawler RPG. Summary:Quest-driven Roguelike fantasy dungeon crawler RPG.
Description: Description:
Quest-driven Roguelike fantasy dungeon crawler RPG with a powerful story. Quest-driven Roguelike fantasy dungeon crawler RPG with a powerful story.
@ -26,3 +27,4 @@ Build Version:0.6.10,25,192,subdir=AndorsTrail
Market Version:0.6.10 Market Version:0.6.10
Market Version Code:25 Market Version Code:25

View file

@ -3,6 +3,7 @@ License:GPLv3
Web Site:https://code.google.com/p/ankidroid/wiki/Index Web Site:https://code.google.com/p/ankidroid/wiki/Index
Source Code:http://github.com/nicolas-raoul/Anki-Android/ Source Code:http://github.com/nicolas-raoul/Anki-Android/
Issue Tracker:http://code.google.com/p/ankidroid/issues Issue Tracker:http://code.google.com/p/ankidroid/issues
Summary:A flashcard-based study aid Summary:A flashcard-based study aid
Description: Description:
Anki is a program which makes remembering things easy. Because it is a lot more Anki is a program which makes remembering things easy. Because it is a lot more
@ -19,7 +20,7 @@ Repo:git://github.com/nicolas-raoul/Anki-Android.git
#Build Version:0.5.1,19,!There is a v0.5.1 tag but the version code is not right #Build Version:0.5.1,19,!There is a v0.5.1 tag but the version code is not right
Build Version:0.6,20,f26b7662ae9db9a92d21 Build Version:0.6,20,f26b7662ae9db9a92d21
Build Version:0.7,21,v0.7 Build Version:0.7,21,v0.7
Build Version:1.0,22,v1.0 Build Version:1.0,22,v1.0,prebuild=sed -i -e "/key\.alias.*/d" -e "/key\.store.*/d" *.properties
Market Version:1.0 Market Version:1.0
Market Version Code:23 Market Version Code:23

View file

@ -1,10 +1,9 @@
Use Built:Yes
Category:System Category:System
License:GPLv3 License:GPLv3
Web Site:http://candrews.integralblue.com/2011/04/my-first-android-app-callerid/ Web Site:http://candrews.integralblue.com/2011/04/my-first-android-app-callerid/
Source Code:https://gitorious.org/callerid-for-android Source Code:https://gitorious.org/callerid-for-android
Issue Tracker: Issue Tracker:
Donate:
Summary:Provides caller ID Summary:Provides caller ID
Description: Description:
Uses a web service to provide information about an incoming caller based on Uses a web service to provide information about an incoming caller based on
@ -16,6 +15,6 @@ Repo:git://gitorious.org/callerid-for-android/mainline.git
#Disabled pending figuring out how to stop it zipaligning.... #Disabled pending figuring out how to stop it zipaligning....
#Build Version:1.0,1,e6d5a9ac4bb24ae3866a0782f2b23d1f18eb2266,subdir=application,maven=yes,bindir=application/target,prebuild=wget http://osmdroid.googlecode.com/files/osmdroid-android-3.0.3.jar && mvn install:install-file -DgroupId=org.osmdroid -DartifactId=osmdroid -Dversion=3.0.3 -Dpackaging=jar -Dfile=osmdroid-android-3.0.3.jar #Build Version:1.0,1,e6d5a9ac4bb24ae3866a0782f2b23d1f18eb2266,subdir=application,maven=yes,bindir=application/target,prebuild=wget http://osmdroid.googlecode.com/files/osmdroid-android-3.0.3.jar && mvn install:install-file -DgroupId=org.osmdroid -DartifactId=osmdroid -Dversion=3.0.3 -Dpackaging=jar -Dfile=osmdroid-android-3.0.3.jar
Market Version:1.3 Market Version:1.3
Market Version Code:4 Market Version Code:4

25
metadata/com.jadn.cc.txt Normal file
View file

@ -0,0 +1,25 @@
Category:Multimedia
License:MIT
Web Site:http://jadn.com/carcast/
Source Code:http://github.com/bherrmann7/Car-Cast/
Issue Tracker:https://github.com/bherrmann7/Car-Cast/issues
Donate:https://market.android.com/details?id=com.jadn.ccpro
Summary:A podcast downloader and player.
Description:
Car Cast is a simple audio podcast downloader and player.
Optimized for use in a daily commute, it features big buttons, large text, remembers last played location.
1. Subscribe to podcasts
2. Download podcasts (stored on flash card)
3. Playback in car/gym (no network needed)
.
Repo Type:git
Repo:git://github.com/bherrmann7/Car-Cast.git
Build Version:1.0.129,129,7a879c6bfa51b5d80401b84e031bf4ff2981bb8c,subdir=cc,target=android-8,rm=cc/libs/admob-sdk-android.jar,patch=admob.patch
Market Version:1.0.129
Market Version Code:129

View file

@ -0,0 +1,105 @@
diff --git a/cc/AndroidManifest.xml b/cc/AndroidManifest.xml
index d2a8dc2..a81106b 100644
--- a/cc/AndroidManifest.xml
+++ b/cc/AndroidManifest.xml
@@ -10,16 +10,6 @@
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
- <activity android:name="com.admob.android.ads.AdMobActivity"
- android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
- android:configChanges="orientation|keyboard|keyboardHidden" />
-
- <receiver android:name="com.admob.android.ads.analytics.InstallReceiver"
- android:exported="true">
- <intent-filter>
- <action android:name="com.android.vending.INSTALL_REFERRER" />
- </intent-filter>
- </receiver>
<activity android:name=".ui.AudioRecorder"></activity>
<activity android:name=".ui.Downloader"
diff --git a/cc/res/layout-land/player.xml b/cc/res/layout-land/player.xml
index 0c2e9ed..f9ef3a3 100644
--- a/cc/res/layout-land/player.xml
+++ b/cc/res/layout-land/player.xml
@@ -4,11 +4,6 @@
android:layout_width="fill_parent" android:background="#000"
android:layout_height="fill_parent" android:padding="0dip">
- <com.admob.android.ads.AdView android:id="@+id/ad"
- android:layout_width="fill_parent" android:layout_height="48dip"
- myapp:backgroundColor="#FF0000" myapp:primaryTextColor="#FFFFFF"
- myapp:secondaryTextColor="#CCCCCC" android:layout_alignParentTop="true"/>
-
<ImageButton android:id="@+id/previous"
android:layout_height="43dip" android:layout_width="65dip"
android:src="@drawable/player_65_previous" android:layout_alignParentLeft="true"
@@ -59,7 +54,7 @@
android:layout_width="fill_parent" android:singleLine="true"
android:ellipsize="none" android:textColor="#000" android:layout_x="0dip"
android:text="" android:background="#c7cbd7"
- android:layout_below="@id/ad" android:layout_height="35dip" />
+ android:layout_alignParentTop="true" android:layout_height="35dip" />
<TextView android:textSize="20dp" android:id="@+id/title"
android:layout_width="fill_parent" android:layout_height="110dip"
diff --git a/cc/res/layout/player.xml b/cc/res/layout/player.xml
index 0cbcda3..ff7ecc9 100644
--- a/cc/res/layout/player.xml
+++ b/cc/res/layout/player.xml
@@ -4,11 +4,6 @@
android:layout_width="fill_parent" android:background="#000"
android:layout_height="fill_parent" android:padding="0dip">
- <com.admob.android.ads.AdView android:id="@+id/ad"
- android:layout_width="fill_parent" android:layout_height="48dip"
- myapp:backgroundColor="#FF0000" myapp:primaryTextColor="#FFFFFF"
- myapp:secondaryTextColor="#CCCCCC" android:layout_alignParentTop="true"/>
-
<ImageButton android:id="@+id/previous"
android:layout_height="70dip" android:layout_width="64dip"
android:src="@drawable/player_65_previous" android:layout_alignParentLeft="true"
@@ -62,7 +57,7 @@
android:layout_width="fill_parent" android:singleLine="true"
android:ellipsize="none" android:textColor="#000" android:layout_x="0dip"
android:text="" android:background="#c7cbd7"
- android:layout_below="@id/ad" android:layout_height="35dip" />
+ android:layout_alignParentTop="true" android:layout_height="35dip" />
<TextView android:textSize="20dp" android:id="@+id/title"
android:layout_width="fill_parent" android:layout_height="110dip"
diff --git a/cc/res/values/attrs.xml b/cc/res/values/attrs.xml
index 20298af..045e125 100644
--- a/cc/res/values/attrs.xml
+++ b/cc/res/values/attrs.xml
@@ -1,10 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
- <declare-styleable name="com.admob.android.ads.AdView">
- <attr name="backgroundColor" format="color" />
- <attr name="primaryTextColor" format="color" />
- <attr name="secondaryTextColor" format="color" />
- <attr name="keywords" format="string" />
- <attr name="refreshInterval" format="integer" />
- </declare-styleable>
</resources>
diff --git a/cc/res/xml/settings.xml b/cc/res/xml/settings.xml
index 11e40e5..38be7a4 100644
--- a/cc/res/xml/settings.xml
+++ b/cc/res/xml/settings.xml
@@ -34,10 +34,10 @@
android:key="canCollectData"
android:title="Allow data collection"
android:summary="Data helps us improve"
- android:defaultValue="true" />
+ android:defaultValue="false" />
<CheckBoxPreference
android:key="emailSecret"
android:title="Keep email address secret"
android:summary="Used for internal tracking only"
- android:defaultValue="false" />
-</PreferenceScreen>
\ No newline at end of file
+ android:defaultValue="true" />
+</PreferenceScreen>

View file

@ -1,12 +1,15 @@
License:GPLv3+
Category:Games Category:Games
License:GPLv3+
Web Site:http://www.kirit.com/Missile%20intercept Web Site:http://www.kirit.com/Missile%20intercept
Source Code:http://www.kirit.com/Missile%20intercept Source Code:http://www.kirit.com/Missile%20intercept
Issue Tracker:http://support.felspar.com/Project:/Missile%20intercept Issue Tracker:http://support.felspar.com/Project:/Missile%20intercept
Summary:Missile Command style game Summary:Missile Command style game
Description: Description:
A game in the style of the classic Missile Command. Defend your cities from incoming A game in the style of the classic Missile Command. Defend your cities from incoming
enemy missiles. enemy missiles.
. .
Market Version:0.5.1 Market Version:0.5.1
Market Version Code:6 Market Version Code:6

View file

@ -1,15 +1,16 @@
Use Built:Yes
Category:Games Category:Games
License:Apache2 License:Apache2
Web Site:http://code.google.com/p/solitaire-for-android/ Web Site:http://code.google.com/p/solitaire-for-android/
Source Code:http://code.google.com/p/solitaire-for-android/source/checkout Source Code:http://code.google.com/p/solitaire-for-android/source/checkout
Issue Tracker:http://code.google.com/p/solitaire-for-android/issues/list Issue Tracker:http://code.google.com/p/solitaire-for-android/issues/list
Summary:Solitaire collection Summary:Solitaire collection
Description: Description:
Solitaire Collection of Klondike (Regular solitaire), Spider Solitaire, Solitaire Collection of Klondike (Regular solitaire), Spider Solitaire,
and Freecell using the touchscreen interface. Features include multi-level and Freecell using the touchscreen interface. Features include multi-level
undo, animated card movement, and statistic/score tracking. undo, animated card movement, and statistic/score tracking.
. .
Repo Type:svn Repo Type:svn
Repo:http://solitaire-for-android.googlecode.com/svn/trunk/ Repo:http://solitaire-for-android.googlecode.com/svn/trunk/
@ -17,3 +18,4 @@ Build Version:1.12.2,450,30,target=android-8
Market Version:1.12.2 Market Version:1.12.2
Market Version Code:450 Market Version Code:450

View file

@ -1,8 +1,9 @@
License:BSD
Category:Games Category:Games
License:BSD
Web Site:http://code.google.com/p/tiltmazes/ Web Site:http://code.google.com/p/tiltmazes/
Source Code:http://code.google.com/p/tiltmazes/source/checkout Source Code:http://code.google.com/p/tiltmazes/source/checkout
Issue Tracker:http://code.google.com/p/tiltmazes/issues/list Issue Tracker:http://code.google.com/p/tiltmazes/issues/list
Summary:Logical puzzle game Summary:Logical puzzle game
Description: Description:
A ball sits in a flat tray containing one or more squares (goals). The challenge is A ball sits in a flat tray containing one or more squares (goals). The challenge is
@ -10,5 +11,7 @@ to guide the ball around the tray and collect all the squares. Tilt the tray to,
literally, start the ball rolling. The ball rolls in a straight line until it hits literally, start the ball rolling. The ball rolls in a straight line until it hits
a wall, you can then tilt again. a wall, you can then tilt again.
. .
Market Version:1.2 Market Version:1.2
Market Version Code:3 Market Version Code:3

View file

@ -1,14 +1,15 @@
Use Built:Yes
Category:Office Category:Office
License:Apache2 License:Apache2
Web Site:http://www.swedroid.se/forum/showthread.php?t=11108 Web Site:http://www.swedroid.se/forum/showthread.php?t=11108
Source Code:https://github.com/liato/android-bankdroid Source Code:https://github.com/liato/android-bankdroid
Issue Tracker:https://github.com/liato/android-bankdroid/issues Issue Tracker:https://github.com/liato/android-bankdroid/issues
Summary:Banking application for Swedish banks Summary:Banking application for Swedish banks
Description: Description:
Checks your account balance at any of the major Swedish banks and can Checks your account balance at any of the major Swedish banks and can
display notifications on changes. Includes a widget. display notifications on changes. Includes a widget.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/liato/android-bankdroid.git Repo:https://github.com/liato/android-bankdroid.git
@ -20,7 +21,6 @@ Build Version:1.6.3,102,612aae755a82008f44a6,encoding=utf-8,prebuild=mkdir libs
unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ unzip -j guava-r08.zip guava-r08/guava-r08.jar && \
rm *.zip && \ rm *.zip && \
cd .. cd ..
Build Version:1.7.2,110,fec08e34a157a3e0b455,encoding=utf-8,prebuild=mkdir libs && \ Build Version:1.7.2,110,fec08e34a157a3e0b455,encoding=utf-8,prebuild=mkdir libs && \
cd libs && \ cd libs && \
wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \ wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \
@ -29,9 +29,7 @@ Build Version:1.7.2,110,fec08e34a157a3e0b455,encoding=utf-8,prebuild=mkdir libs
unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ unzip -j guava-r08.zip guava-r08/guava-r08.jar && \
rm *.zip && \ rm *.zip && \
cd .. cd ..
Build Version:1.7.3,115,!a08cab7e66c70e7b0f5c but wrong version code in repo Build Version:1.7.3,115,!a08cab7e66c70e7b0f5c but wrong version code in repo
Build Version:1.8.0,120,899e4b957e512bf55254,encoding=utf-8,prebuild=mkdir libs && \ Build Version:1.8.0,120,899e4b957e512bf55254,encoding=utf-8,prebuild=mkdir libs && \
cd libs && \ cd libs && \
wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \ wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \
@ -51,10 +49,9 @@ Build Version:1.8.0,120,899e4b957e512bf55254,encoding=utf-8,prebuild=mkdir libs
# unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ # unzip -j guava-r08.zip guava-r08/guava-r08.jar && \
# rm *.zip && \ # rm *.zip && \
# cd .. # cd ..
#Build fails on this version, same as previous version: #Build fails on this version, same as previous version:
# res/values/styles.xml:62: error: Error retrieving parent for item: No resource found that matches the given name 'android:WindowTitleBackground' # res/values/styles.xml:62: error: Error retrieving parent for item: No resource found that matches the given name 'android:WindowTitleBackground'
#Build Version:1.8.1,121,9f626b0dedb01cb90a16fb127a041c5f3dd1c579,target=android-9,encoding=utf-8,prebuild=mkdir libs && \ #Build Version:1.8.1,121,9f626b0dedb01cb90a16fb127a041c5f3dd1c579,target=android-10,encoding=utf-8,prebuild=mkdir libs && \
# cd libs && \ # cd libs && \
# wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \ # wget http://archive.apache.org/dist/commons/io/binaries/commons-io-2.0.1-bin.zip && \
# unzip -j commons-io-2.0.1-bin.zip commons-io-2.0.1/commons-io-2.0.1.jar && \ # unzip -j commons-io-2.0.1-bin.zip commons-io-2.0.1/commons-io-2.0.1.jar && \
@ -62,7 +59,6 @@ Build Version:1.8.0,120,899e4b957e512bf55254,encoding=utf-8,prebuild=mkdir libs
# unzip -j guava-r08.zip guava-r08/guava-r08.jar && \ # unzip -j guava-r08.zip guava-r08/guava-r08.jar && \
# rm *.zip && \ # rm *.zip && \
# cd .. # cd ..
Market Version:1.8.4 Market Version:1.8.4
Market Version Code:125 Market Version Code:125

View file

@ -1,10 +1,9 @@
Use Built:Yes
License:GPLv3
Category:Development Category:Development
License:GPLv3
Web Site:https://github.com/rtyley/agit Web Site:https://github.com/rtyley/agit
Source Code:https://github.com/rtyley/agit Source Code:https://github.com/rtyley/agit
Issue Tracker:https://github.com/rtyley/agit/issues Issue Tracker:https://github.com/rtyley/agit/issues
Donate:
Summary:A git client Summary:A git client
Description: Description:
A git client - currently read-only. A git client - currently read-only.
@ -16,3 +15,4 @@ Repo:https://github.com/rtyley/agit.git
#No builds yet - another 'need to figure out how to make maven work' scenario #No builds yet - another 'need to figure out how to make maven work' scenario
Market Version:1.25 Market Version:1.25
Market Version Code:110900321 Market Version Code:110900321

View file

@ -1,12 +1,15 @@
Disabled:See license Disabled:See license
License:Unknown
Category:Games Category:Games
License:Unknown
Web Site:http://github.com/martynhaigh/Tiny-Open-Source-Violin Web Site:http://github.com/martynhaigh/Tiny-Open-Source-Violin
Source Code:http://github.com/martynhaigh/Tiny-Open-Source-Violin Source Code:http://github.com/martynhaigh/Tiny-Open-Source-Violin
Issue Tracker:http://github.com/martynhaigh/Tiny-Open-Source-Violin Issue Tracker:http://github.com/martynhaigh/Tiny-Open-Source-Violin
Summary:A tiny open source violin Summary:A tiny open source violin
Description: Description:
The world's tiniest open source violin. The world's tiniest open source violin.
. .
Market Version:1.3 Market Version:1.3
Market Version Code:9 Market Version Code:9

View file

@ -1,8 +1,9 @@
License:GPLv2
Category:Office Category:Office
License:GPLv2
Web Site:https://github.com/matburt/mobileorg-android/wiki Web Site:https://github.com/matburt/mobileorg-android/wiki
Issue Tracker:https://github.com/matburt/mobileorg-android/issues
Source Code:https://github.com/matburt/mobileorg-android Source Code:https://github.com/matburt/mobileorg-android
Issue Tracker:https://github.com/matburt/mobileorg-android/issues
Summary:TODO/task management application Summary:TODO/task management application
Description: Description:
TODO/task management based on emacs org-mode files. TODO/task management based on emacs org-mode files.
@ -13,6 +14,6 @@ Repo:https://github.com/matburt/mobileorg-android.git
#Needs dropbox consumer key #Needs dropbox consumer key
#Build Version:0.5.2,51,38dfe967ee99c71b12b8 #Build Version:0.5.2,51,38dfe967ee99c71b12b8
Market Version:0.7.1
Market Version Code:71
Market Version:0.6.2
Market Version Code:62

View file

@ -1,16 +1,19 @@
Use Built:Yes
License:GPLv2
Category:Games Category:Games
License:GPLv2
Web Site:http://mobilepearls.com Web Site:http://mobilepearls.com
Source Code:https://github.com/mobilepearls/com.mobilepearls.sokoban Source Code:https://github.com/mobilepearls/com.mobilepearls.sokoban
Issue Tracker:https://github.com/mobilepearls/com.mobilepearls.sokoban/issues Issue Tracker:https://github.com/mobilepearls/com.mobilepearls.sokoban/issues
Summary:A Sokoban game for Android Summary:A Sokoban game for Android
Description: Description:
A puzzle game. A puzzle game.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/mobilepearls/com.mobilepearls.sokoban.git Repo:https://github.com/mobilepearls/com.mobilepearls.sokoban.git
Build Version:1.11,12,48e1976f9d9881adb70e Build Version:1.11,12,48e1976f9d9881adb70e
Market Version:1.11 Market Version:1.11
Market Version Code:12 Market Version Code:12

View file

@ -1,10 +1,10 @@
Use Built:Yes
License:GPLv3
Category:Office Category:Office
License:GPLv3
Web Site:http://acal.me Web Site:http://acal.me
Source Code:http://gitorious.org/acal Source Code:http://gitorious.org/acal
Issue Tracker: Issue Tracker:
Donate:http://acal.me/wiki/Donating Donate:http://acal.me/wiki/Donating
Summary:Calendar - CalDAV client Summary:Calendar - CalDAV client
Description: Description:
A CalDAV client, allowing you to directly access a calendar on a CalDAV A CalDAV client, allowing you to directly access a calendar on a CalDAV
@ -25,6 +25,8 @@ Build Version:1.3),32,r1.3,target=android-8
Build Version:1.31,33,r1.31,target=android-8 Build Version:1.31,33,r1.31,target=android-8
Build Version:1.32,34,r1.32,target=android-8 Build Version:1.32,34,r1.32,target=android-8
Build Version:1.33,35,r1.33,target=android-8 Build Version:1.33,35,r1.33,target=android-8
Build Version:1.34,36,r1.34,target=android-8
Market Version:1.35
Market Version Code:37
Market Version:1.33
Market Version Code:35

View file

@ -1,9 +1,10 @@
Use Built:Yes AntiFeatures:NonFreeNet
License:GPLv3+
Category:Multimedia Category:Multimedia
License:GPLv3+
Web Site:http://code.google.com/p/mp3tunes/ Web Site:http://code.google.com/p/mp3tunes/
Source Code:http://code.google.com/p/mp3tunes/source/browse/ Source Code:http://code.google.com/p/mp3tunes/source/browse/
Issue Tracker:http://androidmp3.uservoice.com/ Issue Tracker:http://androidmp3.uservoice.com/
Summary:Client for listening to music stored in an MP3tunes locker Summary:Client for listening to music stored in an MP3tunes locker
Description: Description:
MP3tunes is a music storage service, where users can upload their music files and stream them from anywhere. MP3tunes is a music storage service, where users can upload their music files and stream them from anywhere.
@ -16,7 +17,6 @@ Repo:https://mp3tunes.googlecode.com/hg/
Build Version:3.7,89,ba4550305733,target=android-4,fixapos=yes Build Version:3.7,89,ba4550305733,target=android-4,fixapos=yes
Build Version:5.1,92,!No source in repo Build Version:5.1,92,!No source in repo
AntiFeatures:NonFreeNet
Market Version:5.1 Market Version:5.1
Market Version Code:92 Market Version Code:92

View file

@ -1,17 +1,16 @@
Disabled:Doesn't build for me Disabled:Doesn't build for me
#build/com.namelessdev.mpdroid/MPDroid/res/values/styles.xml:18: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Widget.Holo.ActionBar'.
License:Apache2
Category:Multimedia Category:Multimedia
#build/com.namelessdev.mpdroid/MPDroid/res/values/styles.xml:18: error: Error retrieving parent for item: No resource found that matches the given name '@android:style/Widget.Holo.ActionBar'.
License:Apache2
Web Site:https://github.com/dreamteam69/dmix Web Site:https://github.com/dreamteam69/dmix
Source Code:https://github.com/dreamteam69/dmix Source Code:https://github.com/dreamteam69/dmix
Issue Tracker:https://github.com/dreamteam69/dmix/issues Issue Tracker:https://github.com/dreamteam69/dmix/issues
Summary:MPD client Summary:MPD client
Description: Description:
An MPD client which supports streaming. Can fetch cover art from last.fm. An MPD client which supports streaming. Can fetch cover art from last.fm.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/dreamteam69/dmix.git Repo:https://github.com/dreamteam69/dmix.git
@ -21,3 +20,4 @@ cd ../JMPDComm/ && ant && mkdir ../MPDroid/libs/ && cp ../JMPDComm/JMPDComm.jar
Market Version:0.7 Market Version:0.7
Market Version Code:18 Market Version Code:18

View file

@ -1,11 +1,14 @@
License:Apache2
Category:Internet Category:Internet
License:Apache2
Web Site:http://www.nephoapp.com/ Web Site:http://www.nephoapp.com/
Source Code:https://github.com/nephoapp/anarxiv Source Code:https://github.com/nephoapp/anarxiv
Issue Tracker: Issue Tracker:
Summary:arxiv.org client Summary:arxiv.org client
Description: Description:
Browse papers released on arxiv.org Browse papers released on arxiv.org
. .
Market Version:0.3 Market Version:0.3
Market Version Code:3 Market Version Code:3

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:GPLv3+
Category:System Category:System
License:GPLv3+
Web Site:http://github.com/nexes/Android-File-Manager Web Site:http://github.com/nexes/Android-File-Manager
Source Code:http://github.com/nexes/Android-File-Manager Source Code:http://github.com/nexes/Android-File-Manager
Issue Tracker:http://github.com/nexes/Android-File-Manager/issues Issue Tracker:http://github.com/nexes/Android-File-Manager/issues
Summary:A simple file browser and manager Summary:A simple file browser and manager
Description: Description:
A simple file browser and manager. A simple file browser and manager.
@ -18,3 +18,4 @@ Build Version:2.1.8,218,edf793a782861ae31648
Market Version:2.1.8 Market Version:2.1.8
Market Version Code:218 Market Version Code:218

31
metadata/com.prey.txt Normal file
View file

@ -0,0 +1,31 @@
Disabled:C2DM API key required
#NonFreeDep because it requires the Market app to be installed, for C2DM
AntiFeatures:NonFreeNet,NonFreeDep
Category:System
License:GPLv3
Web Site:http://preyproject.com
Source Code:https://github.com/prey/prey-android-client/
Issue Tracker:https://github.com/prey/prey-android-client/issues
Summary:Anti-theft software
Description:
Track down your lost or stolen phone or tablet.
Prey lets you keep track of all your devices easily on one place. Supports:
- GPS + Wifi geo-location.
- SIM change detection.
- SMS or Push (On Demand) activation (2.2+).
- Lock phone/tablet for privacy (2.2+).
- Uninstall protection (2.2+).
- Loud alarm sound.
- Alert messages to user.
.
Repo Type:git
Repo:https://github.com/prey/prey-android-client
# TODO: c2dm (aka "push API") seems to require an API key from Google, see http://code.google.com/android/c2dm/index.html
Build Version:0.5,34,8934cda82af81580a26cf4de233da15feaab1dfd,prebuild=echo "ask-for-password=true\nprey-minor-version=0\nprey-versionon=0.5\nprey-subdomain=control\nprey-domain=preyproject.com\n#c2dm\nc2dm-mail=\nc2dm-action=\nc2dm-message-sync=" > res/raw/config
Market Version:0.5
Market Version Code:33

View file

@ -1,9 +1,9 @@
License:GPLv3
Category:Multimedia Category:Multimedia
License:GPLv3
Web Site:http://code.google.com/p/music-practice-tools/ Web Site:http://code.google.com/p/music-practice-tools/
Source Code:http://code.google.com/p/music-practice-tools/source/checkout Source Code:http://code.google.com/p/music-practice-tools/source/checkout
Issue Tracker:http://code.google.com/p/music-practice-tools/issues/list Issue Tracker:http://code.google.com/p/music-practice-tools/issues/list
Donate:
Summary:Tools for musicians Summary:Tools for musicians
Description: Description:
Tools for musicians, including a chromoatic tuner, a metronome, and a pitch Tools for musicians, including a chromoatic tuner, a metronome, and a pitch
@ -17,3 +17,4 @@ Build Version:1.0,1,109c0bddf346
Market Version:1.0 Market Version:1.0
Market Version Code:1 Market Version Code:1

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:Apache2
Category:Games Category:Games
License:Apache2
Web Site:http://www.replicaisland.net/ Web Site:http://www.replicaisland.net/
Source Code:http://code.google.com/p/replicaisland/source/checkout Source Code:http://code.google.com/p/replicaisland/source/checkout
Issue Tracker:http://code.google.com/p/replicaisland/issues/list Issue Tracker:http://code.google.com/p/replicaisland/issues/list
Summary:Side-scrolling platform game Summary:Side-scrolling platform game
Description: Description:
Guide the Android robot through 40 action-packed platforming levels on a quest to Guide the Android robot through 40 action-packed platforming levels on a quest to
@ -19,3 +19,4 @@ Build Version:1.4,14,7
Market Version:1.4 Market Version:1.4
Market Version Code:14 Market Version Code:14

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:Apache2
Category:Multimedia Category:Multimedia
License:Apache2
Web Site:http://code.google.com/p/ringdroid/ Web Site:http://code.google.com/p/ringdroid/
Source Code:http://code.google.com/p/ringdroid/source/checkout Source Code:http://code.google.com/p/ringdroid/source/checkout
Issue Tracker: Issue Tracker:
Summary:Ringtone editor Summary:Ringtone editor
Description: Description:
An application for editing and creating your own ringtones, alarms, and notification An application for editing and creating your own ringtones, alarms, and notification
@ -17,3 +17,4 @@ Build Version:2.5,20500,64,target=android-8
Market Version:2.5 Market Version:2.5
Market Version Code:20500 Market Version Code:20500

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:Apache2
Category:Multimedia Category:Multimedia
License:Apache2
Web Site:http://sites.google.com/site/roozenandroidapps/home/sound-manager Web Site:http://sites.google.com/site/roozenandroidapps/home/sound-manager
Source Code:http://code.google.com/p/app-soundmanager/source/checkout Source Code:http://code.google.com/p/app-soundmanager/source/checkout
Issue Tracker:http://code.google.com/p/app-soundmanager/issues/list Issue Tracker:http://code.google.com/p/app-soundmanager/issues/list
Summary:Volume level scheduler Summary:Volume level scheduler
Description: Description:
Exposes all the audio volume controls, provides quick access to Exposes all the audio volume controls, provides quick access to
@ -11,6 +11,7 @@ ringmode and vibration settings, and allows you to set timers to
automatically change volumes at set times on any given day of the automatically change volumes at set times on any given day of the
week. week.
. .
Repo Type:svn Repo Type:svn
Repo:http://app-soundmanager.googlecode.com/svn/tags/ Repo:http://app-soundmanager.googlecode.com/svn/tags/

View file

@ -1,10 +1,9 @@
Use Built:Yes
License:New BSD
Category:Games Category:Games
License:New BSD
Web Site:http://code.google.com/p/minedroid/ Web Site:http://code.google.com/p/minedroid/
Source Code:http://code.google.com/p/minedroid/source/checkout Source Code:http://code.google.com/p/minedroid/source/checkout
Issue Tracker:http://code.google.com/p/minedroid/issues/list Issue Tracker:http://code.google.com/p/minedroid/issues/list
Donate:
Summary:Experimental Minecraft Client Summary:Experimental Minecraft Client
Description: Description:
An experimental Minecraft client. An experimental Minecraft client.
@ -15,4 +14,3 @@ Repo:http://minedroid.googlecode.com/svn/trunk/
#Needs DroidRUGL to build. #Needs DroidRUGL to build.
#Build Version:Extra lucky bugfix edition,13,47,subdir=MineDroid #Build Version:Extra lucky bugfix edition,13,47,subdir=MineDroid

View file

@ -1,11 +1,14 @@
License:GPLv3+
Category:Office Category:Office
License:GPLv3+
Web Site:http://code.google.com/p/desktoplabel/ Web Site:http://code.google.com/p/desktoplabel/
Source Code:http://code.google.com/p/desktoplabel/source/checkout Source Code:http://code.google.com/p/desktoplabel/source/checkout
Issue Tracker:http://code.google.com/p/desktoplabel/issues/list Issue Tracker:http://code.google.com/p/desktoplabel/issues/list
Summary:Custom desktop label widgets Summary:Custom desktop label widgets
Description: Description:
Allows you to add custom widgets to your 'desktop' to label things. Allows you to add custom widgets to your 'desktop' to label things.
. .
Market Version:1.3.0 Market Version:1.3.0
Market Version Code:6 Market Version Code:6

View file

@ -1,9 +1,9 @@
License:GPLv3
Category:Games Category:Games
License:GPLv3
Web Site:http://code.google.com/p/hotdeath/ Web Site:http://code.google.com/p/hotdeath/
Source Code:http://code.google.com/p/hotdeath/source/checkout Source Code:http://code.google.com/p/hotdeath/source/checkout
Issue Tracker:http://code.google.com/p/hotdeath/issues/list Issue Tracker:http://code.google.com/p/hotdeath/issues/list
Donate:
Summary:Card game Summary:Card game
Description: Description:
A variant of the classic card game Uno A variant of the classic card game Uno
@ -16,3 +16,4 @@ Build Version:1.0.2,3,26
Market Version:1.0.2 Market Version:1.0.2
Market Version Code:3 Market Version Code:3

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:Apache2
Category:Multimedia Category:Multimedia
License:Apache2
Web Site:http://telecapoland.github.com/jamendo-android/ Web Site:http://telecapoland.github.com/jamendo-android/
Source Code:http://github.com/telecapoland/jamendo-android Source Code:http://github.com/telecapoland/jamendo-android
Issue Tracker:http://github.com/telecapoland/jamendo-android/issues Issue Tracker:http://github.com/telecapoland/jamendo-android/issues
Summary:Jamendo (FaiF music) player Summary:Jamendo (FaiF music) player
Description: Description:
A music player tied to the Jamendo site, a large resource of FaiF music. A music player tied to the Jamendo site, a large resource of FaiF music.
@ -20,3 +20,4 @@ Build Version:1.0.3 [BETA],34,!No source in repo
Market Version:1.0.4 [BETA] Market Version:1.0.4 [BETA]
Market Version Code:35 Market Version Code:35

View file

@ -1,11 +1,14 @@
License:Apache2
Category:System Category:System
License:Apache2
Web Site:http://www.tbray.org/ongoing/When/201x/2010/04/25/LifeSaver-Lessons Web Site:http://www.tbray.org/ongoing/When/201x/2010/04/25/LifeSaver-Lessons
Source Code:http://code.google.com/p/lifesaver/ Source Code:http://code.google.com/p/lifesaver/
Issue Tracker:http://code.google.com/p/lifesaver/issues/list Issue Tracker:http://code.google.com/p/lifesaver/issues/list
Summary:SMS and call log backup/restore Summary:SMS and call log backup/restore
Description: Description:
A simple backup and restore of your SMS and call logs. A simple backup and restore of your SMS and call logs.
. .
Market Version:1.0 Market Version:1.0
Market Version Code:3 Market Version Code:3

View file

@ -1,15 +1,18 @@
Disabled:Can't identify release Disabled:Can't identify release
Use Built:Yes
Category:Games Category:Games
License:Unknown
Web Site:https://github.com/thibault/OpenQOTD Web Site:https://github.com/thibault/OpenQOTD
Source Code:https://github.com/thibault/OpenQOTD Source Code:https://github.com/thibault/OpenQOTD
Issue Tracker:https://github.com/thibault/OpenQOTD/issues Issue Tracker:https://github.com/thibault/OpenQOTD/issues
Summary:Widget to display random quotes Summary:Widget to display random quotes
Description: Description:
A simple widget that displays random quotes in English or French. A simple widget that displays random quotes in English or French.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/thibault/OpenQOTD.git Repo:https://github.com/thibault/OpenQOTD.git
Market Version:1.0.1 Market Version:1.0.1
Market Version Code:2 Market Version Code:2

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:Apache2
Category:Office Category:Office
License:Apache2
Web Site:http://code.google.com/p/and-bookworm/ Web Site:http://code.google.com/p/and-bookworm/
Source Code:http://code.google.com/p/and-bookworm/source/checkout Source Code:http://code.google.com/p/and-bookworm/source/checkout
Issue Tracker:http://code.google.com/p/and-bookworm/issues/list Issue Tracker:http://code.google.com/p/and-bookworm/issues/list
Summary:Book collection manager Summary:Book collection manager
Description: Description:
BookWorm allows you to keep track of books you have read and those you BookWorm allows you to keep track of books you have read and those you
@ -20,3 +20,4 @@ Build Version:1.0.18,19,574
Market Version:1.0.18 Market Version:1.0.18
Market Version Code:19 Market Version Code:19

View file

@ -0,0 +1,21 @@
Category:Games
License:GPLv3
Web Site:http://code.google.com/p/shortyz/
Source Code:http://code.google.com/p/shortyz/source/checkout
Issue Tracker:http://code.google.com/p/shortyz/issues/list
Summary:Crossword game
Description:
Crossword game that downloads puzzles from a variety of internet locations.
.
Repo Type:hg
Repo:https://code.google.com/p/shortyz/
Build Version:3.1.0,30100,1ce970a00083,subdir=shortyz,target=android-11,prebuild=\
cd ../puzlib && mvn package && mv target/*.jar ../shortyz/libs && rm -rf target &&\
cd ../shortyz
Market Version:3.1.7
Market Version Code:30107

View file

@ -0,0 +1,16 @@
Category:Multimedia
License:EPLv1
Web Site:http://united-coders.com/gpodroid
Source Code:https://github.com/gpodder/GpodRoid
Issue Tracker:https://github.com/gpodder/GpodRoid/issues
Summary:gpodder.net client
Description:
A gpodder.net podcasting client.
.
Repo Type:git
Repo:git://github.com/gpodder/GpodRoid.git
Build Version:0.4.7,12,0.4.7,target=android-7,prebuild=mv jars libs

View file

@ -1,10 +1,9 @@
License:GPLv3
Category:Internet Category:Internet
License:GPLv3
Web Site:https://github.com/voidcode/Diaspora-Webclient Web Site:https://github.com/voidcode/Diaspora-Webclient
Source Code:https://github.com/voidcode/Diaspora-Webclient Source Code:https://github.com/voidcode/Diaspora-Webclient
Issue Tracker: Issue Tracker:
Donate:
Summary:Diaspora Client Summary:Diaspora Client
Description: Description:
Client for the Diaspora social network. Client for the Diaspora social network.
@ -13,5 +12,8 @@ Client for the Diaspora social network.
Repo Type:git Repo Type:git
Repo:https://github.com/voidcode/Diaspora-Webclient.git Repo:https://github.com/voidcode/Diaspora-Webclient.git
Build Version:1.3,3,26d7120fea1af5835a17537bebeef6df523d57e6,prebuild=rm -rf gen/ && rm -rf bin/,target=android-9 Build Version:1.3,3,26d7120fea1af5835a17537bebeef6df523d57e6,prebuild=rm -rf gen/ && rm -rf bin/,target=android-10
Market Version:1.5
Market Version Code:6

View file

@ -1,8 +1,9 @@
License:GPLv2
Category:System Category:System
License:GPLv2
Web Site:http://code.google.com/p/wifikeyboard/ Web Site:http://code.google.com/p/wifikeyboard/
Source Code:http://code.google.com/p/wifikeyboard/source/checkout Source Code:http://code.google.com/p/wifikeyboard/source/checkout
Issue Tracker:http://code.google.com/p/wifikeyboard/issues/list Issue Tracker:http://code.google.com/p/wifikeyboard/issues/list
Summary:Remote WiFi keyboard Summary:Remote WiFi keyboard
Description: Description:
Use a remote browser over WiFi as a keyboard for the Android device. Use a remote browser over WiFi as a keyboard for the Android device.

View file

@ -1,9 +1,10 @@
Use Built:Yes AntiFeatures:NonFreeNet
License:Expat
Category:Office Category:Office
License:Expat
Web Site:http://remembeer.info Web Site:http://remembeer.info
Source Code:https://code.discordians.net/projects/remembeer/repository Source Code:https://code.discordians.net/projects/remembeer/repository
Issue Tracker:https://code.discordians.net/projects/remembeer/issues Issue Tracker:https://code.discordians.net/projects/remembeer/issues
Summary:Track and rate the beers you drink. Summary:Track and rate the beers you drink.
Description: Description:
Remembeer lets you track and rate the beers you drink. No more trying Remembeer lets you track and rate the beers you drink. No more trying
@ -17,7 +18,6 @@ Repo:git://code.discordians.net/srv/git/remembeer.git
Build Version:1.2.2,48,c9d64e35964e9c445749aa02e470354b5788d8b4,target=android-4,subdir=android,prebuild=mv lib libs Build Version:1.2.2,48,c9d64e35964e9c445749aa02e470354b5788d8b4,target=android-4,subdir=android,prebuild=mv lib libs
Build Version:1.3.0,50,319231627d207cf7fb1d2ac23ada0ffdd486230c,target=android-4,subdir=android,prebuild=mv lib libs Build Version:1.3.0,50,319231627d207cf7fb1d2ac23ada0ffdd486230c,target=android-4,subdir=android,prebuild=mv lib libs
AntiFeatures:NonFreeNet
Market Version:1.3.0 Market Version:1.3.0
Market Version Code:50 Market Version Code:50

View file

@ -1,10 +1,9 @@
Use Built:Yes
License:AGPL
Category:Internet Category:Internet
License:AGPL
Web Site:http://blog.webworxshop.com/projects/swallowcatcher Web Site:http://blog.webworxshop.com/projects/swallowcatcher
Source Code:http://gitorious.org/swallowcatcher Source Code:http://gitorious.org/swallowcatcher
Issue Tracker: Issue Tracker:
Donate:
Summary:Podcast client Summary:Podcast client
Description: Description:
A podcatcher. A podcatcher.

View file

@ -1,9 +1,9 @@
Use Built:Yes
License:MIT
Category:Internet Category:Internet
License:MIT
Web Site:https://github.com/jberkel/gist-it#readme Web Site:https://github.com/jberkel/gist-it#readme
Source Code:https://github.com/jberkel/gist-it Source Code:https://github.com/jberkel/gist-it
Issue Tracker:https://github.com/jberkel/gist-it/issues Issue Tracker:https://github.com/jberkel/gist-it/issues
Summary:Android gist API client written in Scala Summary:Android gist API client written in Scala
Description: Description:
Create and edit gists (snippets of text hosted at https://gist.github.com) with Create and edit gists (snippets of text hosted at https://gist.github.com) with
@ -12,5 +12,7 @@ this Android app.
Repo Type:git Repo Type:git
Repo:https://github.com/jberkel/gist-it.git Repo:https://github.com/jberkel/gist-it.git
Market Version:0.1.4 Market Version:0.1.4
Market Version Code:5 Market Version Code:5

View file

@ -1,25 +1,23 @@
Use Built:Yes Disabled:Non-free blob
License:Apache2
Category:System Category:System
License:Apache2
Web Site:https://github.com/jberkel/sms-backup-plus#readme Web Site:https://github.com/jberkel/sms-backup-plus#readme
Source Code:https://github.com/jberkel/sms-backup-plus#readme Source Code:https://github.com/jberkel/sms-backup-plus#readme
Issue Tracker:https://github.com/jberkel/sms-backup-plus/issues Issue Tracker:https://github.com/jberkel/sms-backup-plus/issues
Summary:Backup SMS and call logs to IMAP Summary:Backup SMS and call logs to IMAP
Description: Description:
Backups up SMS and call log data from the device to an IMAP server, or Backups up SMS and call log data from the device to an IMAP server, or
Gmail. Gmail.
There are newer versions of this application avaiable elsewhere, but
these include non-free software components and are not available via
F-Droid.
. .
Repo Type:git Repo Type:git
Repo:https://github.com/jberkel/sms-backup-plus.git Repo:https://github.com/jberkel/sms-backup-plus.git
Build Version:1.4.3,1404,1.4.3 Build Version:1.4.3,1404,1.4.3
Build Version:1.4.4,1405,1.4.4,target=android-9,prebuild=mv lib libs Build Version:1.4.4,1405,1.4.4,target=android-10,prebuild=mv lib libs
Build Version:1.4.5,1406,!Non-free blob now included Build Version:1.4.5,1406,1.4.5,target=android-10,prebuild=mv lib libs
Market Version:1.4.5 Market Version:1.4.5
Market Version Code:1406 Market Version Code:1406

View file

@ -0,0 +1,20 @@
Category:Games
License:GPLv3
Web Site:https://gitorious.org/chesswalk
Source Code:https://gitorious.org/chesswalk
Issue Tracker:
Summary:Chess game and FICS client
Description:
Play chess offline, or play online at FICS.
.
Repo Type:git
Repo:https://git.gitorious.org/chesswalk/chesswalk.git
Build Version:1.5,7,4007173d,buildjni=yes
Update Check Mode:Market
Market Version:1.4
Market Version Code:6

Some files were not shown because too many files have changed in this diff Show more