[android-beginners] Re: using an API not in the SDK
There is no procedure; whatever means you find to achieve this would break when the system is updated over the air with changes that modify/remove the non-public API (and believe me, internal changes between releases are *very* numerous). Then your users will start to hate you and give you 1-star ratings, etc... On Thu, Mar 19, 2009 at 12:08 AM, AndRaj rajendran.b...@gmail.com wrote: Hi All, If I want to use non-SDK API. what I wann to do. Is there any procedure to do that... On Feb 23, 2:28 am, Romain Guy romain...@google.com wrote: Don't usenon-SDKAPIs. On Sat, Feb 21, 2009 at 8:12 PM, surferdude datruesur...@gmail.com wrote: Hello, I'm trying to write my first android application which executes commands I feed to it on the comandline. I looked through the public git repository and found android.os.exec which should meet my needs fine, however I noticed that it isn't part of the SDK. When I try to add the class to my project and call it via createsubprocess(), it compiles fine but i get a force close as soon as it tries to run on the emulator or my device. According to the ddms logs, its getting stuck at an unsatisfied link error. Below are the three files in my project... if anyone could help me out, it would be much appreciated --- testapp.java: --- package com.android.testapp; import android.app.Activity; import android.os.Bundle; import com.android.testapp.exec; public class testapp extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); exec.createSubprocess(ls,null,null); } } --- exec.java --- package com.android.testapp; import java.io.FileDescriptor; /** * @hide * Tools for executing commands. Not for public consumption. */ public class exec { /** * @param cmd The command to execute * @param arg0 The first argument to the command, may be null * @param arg1 the second argument to the command, may be null * @return the file descriptor of the started process. * */ public static FileDescriptor createSubprocess( String cmd, String arg0, String arg1) { return createSubprocess(cmd, arg0, arg1, null); } /** * @param cmd The command to execute * @param arg0 The first argument to the command, may be null * @param arg1 the second argument to the command, may be null * @param processId A one-element array to which the process ID of the * started process will be written. * @return the file descriptor of the started process. * */ public static native FileDescriptor createSubprocess( String cmd, String arg0, String arg1, int[] processId); public static native void setPtyWindowSize(FileDescriptor fd, int row, int col, int xpixel, int ypixel); /** * Causes the calling thread to wait for the process associated with the * receiver to finish executing. * * @return The exit value of the Process being waited on * */ public static native int waitFor(int processId); } --- androidmanifest.xml --- ?xml version=1.0 encoding=utf-8? manifest xmlns:android=http://schemas.android.com/apk/res/android; package=com.android.testapp android:versionCode=1 android:versionName=1.0.0 application android:icon=@drawable/icon android:label=@string/ app_name activity android:name=testapp android:label=@string/app_name intent-filter action android:name=android.intent.action.MAIN / category android:name=android.intent.category.LAUNCHER / /intent-filter /activity /application /manifest -- Romain Guy Android framework engineer romain...@android.com Note: please don't send private questions to me, as I don't have time to provide private support. All such questions should be posted on public forums, where I and others can see and answer them --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Android Beginners group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~--~~~~--~~--~--~---
[android-beginners] Re: using an API not in the SDK
Hi All, If I want to use non-SDK API. what I wann to do. Is there any procedure to do that... On Feb 23, 2:28 am, Romain Guy romain...@google.com wrote: Don't usenon-SDKAPIs. On Sat, Feb 21, 2009 at 8:12 PM, surferdude datruesur...@gmail.com wrote: Hello, I'm trying to write my first android application which executes commands I feed to it on the comandline. I looked through the public git repository and found android.os.exec which should meet my needs fine, however I noticed that it isn't part of the SDK. When I try to add the class to my project and call it via createsubprocess(), it compiles fine but i get a force close as soon as it tries to run on the emulator or my device. According to the ddms logs, its getting stuck at an unsatisfied link error. Below are the three files in my project... if anyone could help me out, it would be much appreciated --- testapp.java: --- package com.android.testapp; import android.app.Activity; import android.os.Bundle; import com.android.testapp.exec; public class testapp extends Activity { /** Called when the activity is first created. */ �...@override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); exec.createSubprocess(ls,null,null); } } --- exec.java --- package com.android.testapp; import java.io.FileDescriptor; /** * @hide * Tools for executing commands. Not for public consumption. */ public class exec { /** * @param cmd The command to execute * @param arg0 The first argument to the command, may be null * @param arg1 the second argument to the command, may be null * @return the file descriptor of the started process. * */ public static FileDescriptor createSubprocess( String cmd, String arg0, String arg1) { return createSubprocess(cmd, arg0, arg1, null); } /** * @param cmd The command to execute * @param arg0 The first argument to the command, may be null * @param arg1 the second argument to the command, may be null * @param processId A one-element array to which the process ID of the * started process will be written. * @return the file descriptor of the started process. * */ public static native FileDescriptor createSubprocess( String cmd, String arg0, String arg1, int[] processId); public static native void setPtyWindowSize(FileDescriptor fd, int row, int col, int xpixel, int ypixel); /** * Causes the calling thread to wait for the process associated with the * receiver to finish executing. * * @return The exit value of the Process being waited on * */ public static native int waitFor(int processId); } --- androidmanifest.xml --- ?xml version=1.0 encoding=utf-8? manifest xmlns:android=http://schemas.android.com/apk/res/android; package=com.android.testapp android:versionCode=1 android:versionName=1.0.0 application android:icon=@drawable/icon android:label=@string/ app_name activity android:name=testapp android:label=@string/app_name intent-filter action android:name=android.intent.action.MAIN / category android:name=android.intent.category.LAUNCHER / /intent-filter /activity /application /manifest -- Romain Guy Android framework engineer romain...@android.com Note: please don't send private questions to me, as I don't have time to provide private support. All such questions should be posted on public forums, where I and others can see and answer them --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Android Beginners group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~--~~~~--~~--~--~---
[android-beginners] Re: using an API not in the SDK
Don't use non-SDK APIs. On Sat, Feb 21, 2009 at 8:12 PM, surferdude datruesur...@gmail.com wrote: Hello, I'm trying to write my first android application which executes commands I feed to it on the comandline. I looked through the public git repository and found android.os.exec which should meet my needs fine, however I noticed that it isn't part of the SDK. When I try to add the class to my project and call it via createsubprocess(), it compiles fine but i get a force close as soon as it tries to run on the emulator or my device. According to the ddms logs, its getting stuck at an unsatisfied link error. Below are the three files in my project... if anyone could help me out, it would be much appreciated --- testapp.java: --- package com.android.testapp; import android.app.Activity; import android.os.Bundle; import com.android.testapp.exec; public class testapp extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); exec.createSubprocess(ls,null,null); } } --- exec.java --- package com.android.testapp; import java.io.FileDescriptor; /** * @hide * Tools for executing commands. Not for public consumption. */ public class exec { /** * @param cmd The command to execute * @param arg0 The first argument to the command, may be null * @param arg1 the second argument to the command, may be null * @return the file descriptor of the started process. * */ public static FileDescriptor createSubprocess( String cmd, String arg0, String arg1) { return createSubprocess(cmd, arg0, arg1, null); } /** * @param cmd The command to execute * @param arg0 The first argument to the command, may be null * @param arg1 the second argument to the command, may be null * @param processId A one-element array to which the process ID of the * started process will be written. * @return the file descriptor of the started process. * */ public static native FileDescriptor createSubprocess( String cmd, String arg0, String arg1, int[] processId); public static native void setPtyWindowSize(FileDescriptor fd, int row, int col, int xpixel, int ypixel); /** * Causes the calling thread to wait for the process associated with the * receiver to finish executing. * * @return The exit value of the Process being waited on * */ public static native int waitFor(int processId); } --- androidmanifest.xml --- ?xml version=1.0 encoding=utf-8? manifest xmlns:android=http://schemas.android.com/apk/res/android; package=com.android.testapp android:versionCode=1 android:versionName=1.0.0 application android:icon=@drawable/icon android:label=@string/ app_name activity android:name=testapp android:label=@string/app_name intent-filter action android:name=android.intent.action.MAIN / category android:name=android.intent.category.LAUNCHER / /intent-filter /activity /application /manifest -- Romain Guy Android framework engineer romain...@android.com Note: please don't send private questions to me, as I don't have time to provide private support. All such questions should be posted on public forums, where I and others can see and answer them --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Android Beginners group. To post to this group, send email to android-beginners@googlegroups.com To unsubscribe from this group, send email to android-beginners-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~--~~~~--~~--~--~---