纯控制台Android应用程序?

时间:2016-10-02 17:32:41

标签: java android logging android-emulator console-application

是否有可能创建一个将在Android模拟器中运行的纯控制台Android应用程序?

我的意思是我们可以运行使用System.out.println进行控制台输出的经典桌面Java应用程序,因此我不明白为什么我们无法通过android.util.Log类对Android执行相同操作

在模拟器上执行此操作的优点是可以访问Android Java类实现的所需功能。

也许是没有ApplicationActivity类和AndroidManifest.xml

的dex文件

如何做到最好?

1 个答案:

答案 0 :(得分:0)

没有“AndroidMain”方法。 您可以使用没有UI的主Activity或启动服务来完成此操作。

E.g。

的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!");
    }
}