2016-10-02 13 views
0

アンドロイドエミュレータで実行される純粋なコンソールアンドロイドアプリケーションを作成することは可能ですか?純粋なコンソールAndroidアプリケーション?

私はコンソール出力にSystem.out.printlnを利用する古典的なデスクトップJavaアプリケーションを実行できることを意味するので、android.util.Logクラスを介してAndroidで同じことを行うことができない理由はわかりません。

エミュレータでこれを実行する利点は、Android Javaクラスによって実装された機能にアクセスできることです。

おそらくなしDEXファイルApplicationActivityクラスとAndroidManifest.xml

最高これをどのように行うには?

+0

あなたのアプリケーションがマニフェストを持たなければならない、と限り、私はそれであれば承知しているようランチャーアクティビティーを指定していないため、コンパイルしないか、何もしません。とにかくそのようなアプリを実行するとどうなるでしょうか?そこにデスクトップOS上にあるように実行するコンソールアプリケーションに組み込まれています。 Androidシステムは、コマンドラインプログラムではなく、UIを持たないアクティビティやサービスを使用するアプリケーションを実行するように設計されています。 – nasch

+0

AndroidMain()メソッドのようなものかもしれませんが、log文で何らかの処理を行ってlogcatに出力を書き込み、終了します。ウインドウがない場合は関係ありません。 – Nederealm

答えて

0

「AndroidMain」メソッドはありません。 これは、UIなしのメインアクティビティまたはサービスの起動を使用して実行できます。

など。

のAndroidManifest.xml

<application 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name"> 

    <activity android:name=".MainActivity"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <service android:name=".MyService" /> 
</application> 

MainActivity.java

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Intent i = new Intent(this, MyService.class); 
     startService(i); 
     finish(); 
    } 
} 

MyService.java

public class MyService extends IntentService { 

    public MyService() { 
     super("MyService"); 
    } 

    @Override 
    protected void onHandleIntent(Intent intent) { 
     Log.i("MyService", "Hello world!"); 
    } 
} 
関連する問題