有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何让Android应用程序在API级别7和8上运行?

我很难让我的应用程序同时在API级别7和8中运行。当我在eclipse中从头开始项目并针对各自的API级别时,代码在这两个版本中都可以正常工作。但是,我的安装程序应该在针对7时运行,在启动仿真器时在API 8中启动

[2011-05-24 11:47:02 - AndroidHTOnline] ------------------------------
[2011-05-24 11:47:02 - AndroidHTOnline] Android Launch!
[2011-05-24 11:47:02 - AndroidHTOnline] adb is running normally.
[2011-05-24 11:47:02 - AndroidHTOnline] Performing testapp.test.testapp activity launch
[2011-05-24 11:47:02 - AndroidHTOnline] Automatic Target Mode: Preferred AVD 'DROID'     is not available. Launching new emulator.
[2011-05-24 11:47:02 - AndroidHTOnline] Launching a new emulator with Virtual Device 'DROID'
[2011-05-24 11:47:03 - AndroidHTOnline] New emulator found: emulator-5554
[2011-05-24 11:47:03 - AndroidHTOnline] Waiting for HOME ('安卓.process.acore') to be launched...
[2011-05-24 11:47:26 - AndroidHTOnline] HOME is up on device 'emulator-5554'
[2011-05-24 11:47:26 - AndroidHTOnline] Uploading AndroidHTOnline.apk onto device 'emulator-5554'
[2011-05-24 11:47:26 - AndroidHTOnline] Installing AndroidHTOnline.apk...
[2011-05-24 11:47:50 - AndroidHTOnline] Success!
[2011-05-24 11:47:50 - AndroidHTOnline] Starting activity testapp.test.testapp on device emulator-5554
[2011-05-24 11:47:52 - AndroidHTOnline] ActivityManager: [1]   Killed                  am start -n test...

这是我的清单文件。切换目标sdk似乎没有效果

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
  package="testapp.test"
  安卓:versionCode="1"
  安卓:versionName="1.0">
<uses-sdk 安卓:minSdkVersion="7" 安卓:targetSdkVersion="7" 安卓:maxSdkVersion="8"  />
<uses-permission 安卓:name="安卓.permission.INTERNET" />

<application 安卓:icon="@drawable/icon" 安卓:label="@string/app_name" 安卓:debuggable="false" 安卓:enabled="true" 安卓:allowBackup="false" 安卓:allowClearUserData="true" 安卓:testOnly="false">
    <activity 安卓:name=".testapp"
              安卓:label="@string/app_name">
        <intent-filter>
            <action 安卓:name="安卓.intent.action.MAIN" />
            <category 安卓:name="安卓.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>
</manifest>

那么,为什么活动管理器要终止应用程序呢。我是否可以查看更详细的输出以获得更多详细信息?我的最小值、最大值和目标值的设置是否是我正在寻找的准确类型的设置?我正在Windows上运行Eclipse。我是C#程序员,对Android和Java不熟悉,所以任何提示都会很有帮助

编辑:我已经在这里发布了logcat日志文件http://www.strategynerd.com/log.txt我仍在查看它,试图找到问题,如果我发现了什么,我会发回

更新:似乎错误可能发生在日志中的某个地方

05-24 18:27:08.443: INFO/installd(35): move /data/dalvik-cache/data@app@testapp.test-1.apk@classes.dex -> /data/dalvik-cache/data@app@testapp.test-1.apk@classes.dex
05-24 18:27:08.554: DEBUG/PackageManager(59): New package installed in /data/app/testapp.test-1.apk
05-24 18:27:10.094: INFO/ActivityManager(59): Process com.安卓.settings (pid 119) has died.
05-24 18:27:12.094: INFO/ActivityManager(59): Force stopping package testapp.test uid=10036
05-24 18:27:12.834: INFO/WindowManager(59): WIN DEATH: Window{450470a0 com.安卓.launcher/com.安卓.launcher2.Launcher paused=false}

共 (2) 个答案

  1. # 1 楼答案

    Is there a more detailed output I can view to get more details?

    是的,答案是Logcat。打开透视图并发布日志

    Is my setup for min, max and target an accurate type of setup I am looking for?
    

    您确定需要最高版本吗?一般来说,7中开发的大多数东西都是向前兼容的。更新的屏幕尺寸是一些人遇到困难的地方,但这是另一个问题

    您还可以了解min和目标版本here.之间的差异

  2. # 2 楼答案

    Android应用程序通常与Android平台的新版本向前兼容, 您不需要指定max版本(明确建议不要使用maxSdkVersion属性)

    试着只指定minSdkVersion属性,看看它是否有效

    干杯