2014-06-17 58 views
0

我试图运行一个我按照我的教科书输入的应用程序(Android Bootcamp 2nd ed,ch。9)。似乎没有任何错误。但是当我编译时,我首先得到eclipse编译的正常信息报告,请求我的设备,安装并启动。但是那ActivityManager的东西出现了。该应用程序无法启动,并且手机说它没有被启动。我应该寻找什么样的错误?Android在安装/启动后收到消息,手机仍然没有安装

[2014-06-17 15:31:59 - BikeBarge] ------------------------------ 
[2014-06-17 15:31:59 - BikeBarge] Android Launch! 
[2014-06-17 15:31:59 - BikeBarge] adb is running normally. 
[2014-06-17 15:31:59 - BikeBarge] Performing com.example.bikebarge.ItemListActivity activity launch 
[2014-06-17 15:32:00 - BikeBarge] Automatic Target Mode: Unable to detect device compatibility. Please select a target device. 
[2014-06-17 15:32:02 - BikeBarge] Uploading BikeBarge.apk onto device 'A00000415861A1' 
[2014-06-17 15:32:02 - BikeBarge] Installing BikeBarge.apk... 
[2014-06-17 15:32:06 - BikeBarge] Success! 
[2014-06-17 15:32:06 - BikeBarge] Starting activity com.example.bikebarge.ItemListActivity on device A00000415861A1 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.bikebarge/.ItemListActivity } 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.bikebarge/.ItemListActivity } from null (pid=20767, uid=2000) requires android.permission.INTERNET 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at android.os.Parcel.readException(Parcel.java:1327) 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at android.os.Parcel.readException(Parcel.java:1281) 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1631) 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.commands.am.Am.runStart(Am.java:433) 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.commands.am.Am.run(Am.java:107) 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.commands.am.Am.main(Am.java:80) 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.internal.os.RuntimeInit.finishInit(Native Method) 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:238) 
[2014-06-17 15:32:06 - BikeBarge] ActivityManager: at dalvik.system.NativeStart.main(Native Method) 

BikeBargeManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.bikebarge" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="19" /> 

    <uses-permission android:name="android.permission.INTERNET" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" 
     android:permission="android.permission.INTERNET"> 

     <activity 
      android:name="com.example.bikebarge.ItemListActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name="com.example.bikebarge.ItemDetailActivity" 
      android:label="@string/title_item_detail" 
      android:parentActivityName="com.example.bikebarge.ItemListActivity" > 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.bikebarge.ItemListActivity" /> 
     </activity> 
    </application> 

</manifest> 

回答

1

您需要允许Internet应用程序的权限。将此行添加到您的清单中:

<uses-permission android:name="android.permission.INTERNET" /> 
+0

我有这个'android:permission =“android.permission.INTERNET'在应用程序下,但我会尝试上面的。 – abalter

+1

啊!需要从应用程序中删除它。 – abalter

1

你确实需要一个允许添加到您的清单(一个用于互联网接入)。

这是你的logcat指出这行:

ActivityManager: java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.bikebarge/.ItemListActivity } from null (pid=20767, uid=2000) requires android.permission.INTERNET 

所以,你会在下面的行添加到您的AndroidManifest.xml文件(几乎任何地方)。

<uses-permission android:name="android.permission.INTERNET" /> 
+0

仍然出现安全错误。它可能是我的手机吗? – abalter

+0

只接受raybaybay,因为他是第一个发型。 – abalter

+0

不用担心,很高兴你把它修好了。 – Booger