From 006dec670045101351342d95db115c856d29cea4 Mon Sep 17 00:00:00 2001 From: benfry Date: Fri, 4 Nov 2011 23:04:47 +0000 Subject: [PATCH] updating for newer android sdk tools --- android/todo.txt | 7 ++ .../processing/mode/android/AndroidBuild.java | 81 ++++++++++++------- .../mode/android/AndroidToolbar.java | 2 +- core/todo.txt | 1 + todo.txt | 3 + 5 files changed, 63 insertions(+), 31 deletions(-) diff --git a/android/todo.txt b/android/todo.txt index 527b5af1c..489164c14 100644 --- a/android/todo.txt +++ b/android/todo.txt @@ -1,5 +1,12 @@ 0202 android +X fix problem with export menu, keys, toolbar being different +X change default package name a bit +X switch to SDK 8 (Android 2.2) as the minimum +X update the project files for Android SDK Tools Revision 15 (now required) +_ launching on emulator not working well +_ Latest android sdk breaks processing - new build.xml output required +_ http://code.google.com/p/processing/issues/detail?id=876 _ if a sketch asks for android mode but it's not available _ (after a double-click) diff --git a/app/src/processing/mode/android/AndroidBuild.java b/app/src/processing/mode/android/AndroidBuild.java index 6a00709b9..5d4955456 100644 --- a/app/src/processing/mode/android/AndroidBuild.java +++ b/app/src/processing/mode/android/AndroidBuild.java @@ -33,8 +33,8 @@ import processing.mode.java.JavaBuild; class AndroidBuild extends JavaBuild { - static final String basePackage = "processing.android.test"; - static final String sdkVersion = "7"; + static final String basePackage = "processing.changethispackage.beforesubmittingtothemarket"; + static final String sdkVersion = "8"; static final String sdkTarget = "android-" + sdkVersion; // private final Editor editor; @@ -129,13 +129,17 @@ class AndroidBuild extends JavaBuild { File tempManifest = new File(tmpFolder, "AndroidManifest.xml"); manifest.writeBuild(tempManifest, sketchClassName, target.equals("debug")); - writeBuildProps(new File(tmpFolder, "build.properties")); + writeAntProps(new File(tmpFolder, "ant.properties")); buildFile = new File(tmpFolder, "build.xml"); writeBuildXML(buildFile, sketch.getName()); - writeDefaultProps(new File(tmpFolder, "default.properties")); + writeProjectProps(new File(tmpFolder, "project.properties")); writeLocalProps(new File(tmpFolder, "local.properties")); writeRes(new File(tmpFolder, "res"), sketchClassName); + File proguardSrc = new File(sdk.getSdkFolder(), "tools/lib/proguard.cfg"); + File proguardDst = new File(tmpFolder, "proguard.cfg"); + Base.copyFile(proguardSrc, proguardDst); + final File libsFolder = mkdirs(tmpFolder, "libs"); final File assetsFolder = mkdirs(tmpFolder, "assets"); @@ -242,14 +246,19 @@ class AndroidBuild extends JavaBuild { public File exportProject() throws IOException, SketchException { - File projectFolder = build("debug"); - if (projectFolder == null) { - return null; +// File projectFolder = build("debug"); +// if (projectFolder == null) { +// return null; +// } + // this will set debuggable to true in the .xml file + target = "debug"; + File projectFolder = createProject(); + if (projectFolder != null) { + File exportFolder = createExportFolder(); + Base.copyDir(projectFolder, exportFolder); + return exportFolder; } - - File exportFolder = createExportFolder(); - Base.copyDir(projectFolder, exportFolder); - return exportFolder; + return null; } @@ -384,7 +393,7 @@ class AndroidBuild extends JavaBuild { } - private void writeBuildProps(final File file) { + private void writeAntProps(final File file) { final PrintWriter writer = PApplet.createWriter(file); writer.println("application-package=" + getPackageName()); writer.flush(); @@ -394,26 +403,38 @@ class AndroidBuild extends JavaBuild { private void writeBuildXML(final File file, final String projectName) { final PrintWriter writer = PApplet.createWriter(file); - writer.println(""); + writer.println(""); + + writer.println(""); - writer.println(" "); - writer.println(" "); - writer.println(" "); + + writer.println(" "); + writer.println(" "); + writer.println(" "); + + writer.println(" "); + + writer.println(" "); // should this be 'custom' instead of 1? + writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(" "); - writer.println(" "); - - writer.println(" "); - - writer.println(" "); +// writer.println(" "); +// writer.println(" "); +// writer.println(" "); +// +// writer.println(" "); +// writer.println(" "); +// writer.println(" "); +// writer.println(" "); +// writer.println(" "); +// writer.println(" "); +// writer.println(" "); +// +// writer.println(" "); +// +// writer.println(" "); writer.println(""); writer.flush(); @@ -421,7 +442,7 @@ class AndroidBuild extends JavaBuild { } - private void writeDefaultProps(final File file) { + private void writeProjectProps(final File file) { final PrintWriter writer = PApplet.createWriter(file); //writer.println("target=Google Inc.:Google APIs:" + sdkVersion); writer.println("target=" + sdkTarget); diff --git a/app/src/processing/mode/android/AndroidToolbar.java b/app/src/processing/mode/android/AndroidToolbar.java index 734b9b0f7..189789a95 100644 --- a/app/src/processing/mode/android/AndroidToolbar.java +++ b/app/src/processing/mode/android/AndroidToolbar.java @@ -101,7 +101,7 @@ public class AndroidToolbar extends EditorToolbar { break; case EXPORT: - if (shift) { + if (!shift) { aeditor.handleExportPackage(); } else { aeditor.handleExportProject(); diff --git a/core/todo.txt b/core/todo.txt index 4dfe4131e..9c0237fc4 100644 --- a/core/todo.txt +++ b/core/todo.txt @@ -1,4 +1,5 @@ 0202 core +_ video problem with P3D _ add inputPath() and outputPath() -> sketch folder or sd card diff --git a/todo.txt b/todo.txt index 5ca1d7fa9..c862f68df 100644 --- a/todo.txt +++ b/todo.txt @@ -1,5 +1,8 @@ 0202 pde X fix problem with serial not loading on macosx +X fix problem with popup menus on the toolbar disappearing immediately (osx) +X http://code.google.com/p/processing/issues/detail?id=846 +X http://code.google.com/p/processing/issues/detail?id=887 _ make note of when library is not available (serial) with error msg