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 <[email protected]> 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 <[email protected]> wrote:
> > Don't usenon-SDKAPIs.
> >
> >
> >
> > On Sat, Feb 21, 2009 at 8:12 PM, surferdude <[email protected]>
> 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
> > [email protected]
> >
> > 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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-beginners?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to