Skip to content

Instantly share code, notes, and snippets.

@Androguide
Androguide / FindInstalledPackage.java
Last active December 17, 2015 01:59
This snippet returns all package names matching a certain word from all the apps installed on an Android device.
// This shell command returns all packages that contain the word camera
String command = "pm list packages -f > "
+ Environment.getExternalStorageDirectory() + "/packages.txt\n"
+ "grep camera " + Environment.getExternalStorageDirectory()
+ "/packages.txt\n";
List<String> cameras = new ArrayList<String>();
try {
String line;
Process process = Runtime.getRuntime().exec("sh");
@Androguide
Androguide / sublime-text-ppa.sh
Created June 18, 2013 16:33
Sublime Text 2 installation via PPA (Ubuntu)
sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text
@Androguide
Androguide / saucy_i9300.log
Last active December 20, 2015 10:48
On my Ubuntu Touch builds for the i9300, random UI lock-ups occue. This is the logcat of the issue.
07-30 22:56:25.078 1926-1993/? E/BufferQueue: [FramebufferSurface] dequeueBuffer: min undequeued buffer count (1) exceeded (dequeued=3 undequeudCount=0)
07-30 22:56:25.078 1926-1993/? E/: void __egl_platform_dequeue_buffer(egl_surface*):1200 [EGL-ERROR] failed to dequeue buffer from native window (0x41c87010); err = -16, buf = 0x40595b0c
07-30 22:56:25.078 1926-1993/? E/BufferQueue: [FramebufferSurface] dequeueBuffer: min undequeued buffer count (1) exceeded (dequeued=3 undequeudCount=0)
07-30 22:56:25.078 1926-1993/? E/: void __egl_platform_dequeue_buffer(egl_surface*):1200 [EGL-ERROR] failed to dequeue buffer from native window (0x41c87010); err = -16, buf = 0x40595b04
07-30 22:56:25.078 1926-1993/? E/BufferQueue: [FramebufferSurface] dequeueBuffer: min undequeued buffer count (1) exceeded (dequeued=3 undequeudCount=0)
07-30 22:56:25.078 1926-1993/? E/: void __egl_platform_dequeue_buffer(egl_surface*):1200 [EGL-ERROR] failed to dequeue buffer from native window (0x41c87010); err = -16, buf
@Androguide
Androguide / static_server.js
Last active December 22, 2015 14:19
NodeJS/ExpressJS static web server
var express = require('express');
var server = express();
var port = 8080;
server.configure(function(){
server.use('/media', express.static(__dirname + '/media'));
server.use(express.static(__dirname + '/public'));
});
server.listen(port);
@Androguide
Androguide / shell.js
Last active December 23, 2015 01:48
NodeJS way of executing unix/bash commands
var sys = require('sys')
var exec = require('child_process').exec;
function puts(error, stdout, stderr) {
sys.puts(stdout)
}
exec("chmod 644 file.txt", puts);
@Androguide
Androguide / InstallApk.java
Last active December 24, 2015 10:39
Snippet to programmatically install an APK on the user's device.
String file = "path/to/the/file.apk";
Intent intent = new Intent( Intent.ACTION_VIEW );
intent.setDataAndType( Uri.fromFile(file), "application/vnd.android.package-archive" );
intent.setFlags( Intent.FLAG_ACTIVITY_NEW_TASK );
getContext().startActivity(intent);
@Androguide
Androguide / inotify.sh
Created October 2, 2013 17:19
One-liner to increase max inotify watches on Ubuntu. This is useful for simultaneously running things like Yeoman/Bower/Grunt and Dropbox which watch for filesystem changes.
echo fs.inotify.max_user_watches=1048576 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
@Androguide
Androguide / yeoman_generators.sh
Created October 2, 2013 18:22
One liner to install Grunt, Bower, Yeoman and some useful YO generators.
sudo npm install -g yo grunt-cli bowser generator-angular generator-express generator-heroku generator-chrome-extension generator-cordova
@Androguide
Androguide / .gitignore
Last active December 24, 2015 18:18
An updated .gitignore file for Android development with Gradle, IntelliJ & Eclipse support
# built application files
*.apk
*.ap_
# files for the dex VM
*.dex
# Java class files
*.class
@Androguide
Androguide / AppCache.java
Last active December 25, 2015 18:49
Activer l'AppCache dans une WebView Android
public static void enableAppCache(WebView webView) {
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAppCacheMaxSize(1024*1024*8); // 8mb
// Apparemment il y a un bug puisque le path ci-dessous est sensé être le path par défaut
// et pourtant, bizarrement, l'AppCache ne fonctionnait pas sans le définir manuellement
webView.getSettings().setAppCachePath("/data/data/"+ getPackageName() +"/cache");
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAppCacheEnabled(true);
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);