- add minSdkVersion to new android project AndroidManifest.xml
- fix formatting of MainActivity

git-svn-id: https://jmonkeyengine.googlecode.com/svn/trunk@8217 75d07b2b-3a1a-0410-a2c5-0572b91ccdca
3.0
nor..67 13 years ago
parent 7354d9def1
commit b4fbc3bc30
  1. 73
      sdk/jme3-android/src/com/jme3/gde/android/AndroidSdkTool.java

@ -7,6 +7,8 @@ package com.jme3.gde.android;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
@ -21,6 +23,11 @@ import org.openide.filesystems.FileUtil;
import org.openide.util.Exceptions;
import org.openide.util.NbPreferences;
import org.openide.util.Utilities;
import org.openide.xml.XMLUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
/**
*
@ -221,7 +228,7 @@ public class AndroidSdkTool {
out.close();
lock.releaseLock();
} else {
throw new IOException("Cannot find " + mainAct);
throw new IOException("Cannot find " + mainActName);
}
} catch (InterruptedException ex) {
Exceptions.printStackTrace(ex);
@ -231,6 +238,7 @@ public class AndroidSdkTool {
}
Exceptions.printStackTrace(ex);
}
updateAndroidManifest(project);
}
public static void updateProject(Project project, String target, String name) {
@ -261,11 +269,60 @@ public class AndroidSdkTool {
}
}
private static void updateAndroidManifest(Project project) {
FileObject manifest = project.getProjectDirectory().getFileObject("mobile/AndroidManifest.xml");
if (manifest == null) {
return;
}
InputStream in = null;
FileLock lock = null;
OutputStream out = null;
try {
in = manifest.getInputStream();
Document configuration = XMLUtil.parse(new InputSource(in), false, false, null, null);
in.close();
in = null;
Element sdkElement = XmlHelper.findChildElement(configuration.getDocumentElement(), "uses-sdk");
if (sdkElement == null) {
sdkElement = configuration.createElement("uses-sdk");
configuration.getDocumentElement().appendChild(sdkElement);
}
if (!sdkElement.getAttribute("android:minSdkVersion").equals("8")) {
sdkElement.setAttribute("android:minSdkVersion", "8");
lock = manifest.lock();
out = manifest.getOutputStream(lock);
XMLUtil.write(configuration, out, "UTF-8");
out.close();
out = null;
lock.releaseLock();
lock = null;
}
} catch (SAXException ex) {
Exceptions.printStackTrace(ex);
} catch (IOException ex) {
Exceptions.printStackTrace(ex);
} finally {
if (lock != null) {
lock.releaseLock();
}
try {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
} catch (IOException ex1) {
Exceptions.printStackTrace(ex1);
}
}
}
private static String mainActivityString(String mainClass, String packag) {
String str = "package "+packag+";\n"
String str = "package " + packag + ";\n"
+ "import com.jme3.app.AndroidHarness;\n"
+ "import android.content.pm.ActivityInfo;"
+ "import com.jme3.system.android.AndroidConfigChooser.ConfigType;"
+ "import android.content.pm.ActivityInfo;\n"
+ "import com.jme3.system.android.AndroidConfigChooser.ConfigType;\n"
+ "public class MainActivity extends AndroidHarness{\n"
+ " public MainActivity(){\n"
+ " // Set the application class to run\n"
@ -275,13 +332,13 @@ public class AndroidSdkTool {
+ " // Exit Dialog title & message\n"
+ " exitDialogTitle = \"Exit?\";\n"
+ " exitDialogMessage = \"Press Yes\";\n"
+ " // Edit: 25.06.2011: Enable verbose logging\n"
+ " // Enable verbose logging\n"
+ " eglConfigVerboseLogging = false;\n"
+ " // Edit: 30.06.2011: Choose screen orientation\n"
+ " // Choose screen orientation\n"
+ " screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;\n"
+ " // Edit 12.07.2011: Invert the MouseEvents X (default = true)\n"
+ " // Invert the MouseEvents X (default = true)\n"
+ " mouseEventsInvertX = true;\n"
+ " // Edit 05.07.2011: Invert the MouseEvents Y (default = true)\n"
+ " // Invert the MouseEvents Y (default = true)\n"
+ " mouseEventsInvertY = true;\n"
+ " }\n"
+ "}\n";

Loading…
Cancel
Save