2015-04-25 79 views
-1

我要使這個簡短而精確;Android應用程序在lanuch後用簡單的java編碼立即崩潰

*我運行Ubuntu 14.04+

*運行,同時連接到日食的Nexus 4(Android 4.3以上)

*開始編程的Android應用程序,我只有在安卓5.1級編程選項(在程序開始時要求你設置)。

所以我提出該計劃在第一,它給了這個錯誤

ERROR: Application requires API version 22. Device API version is 18 (Android 4.3) 

我在網上看了,在我

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

TO

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

,但我的應用程序周圍變化的東西Lanuches和崩潰馬上。錯誤的logcat

GC_FOR_ALLOC freed 495K, 6% free 9168K/9704K, paused 12ms, total 12ms 

和多數民衆所產生的程序停止在控制檯,

ActivityManager: Starting: Intent { 
    act=android.intent.action.MAIN cat= 
    [android.intent.category.LAUNCHER] 
    cmp=self.name.firstandroidprogram/.MainActivity 

最後,這裏是我在Java代碼中

package self.name.firstandroidprogram; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.MenuItem; 
import android.widget.LinearLayout; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

    LinearLayout layout1; 
    TextView label1; 

    @override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     layout1 = new LinearLayout(this); 
     label1 = new TextView(this); 
     layout1.addView(layout1); 

     setContentView(layout1); 
    } 
} 
+1

您的日誌不正確。請提供使您的應用程序崩潰的例外。 GC_FOR_ALLOC只是一個日誌,告訴系統預留更多內存和ActivityManager:啓動:意圖意味着你開始了一個意圖,但兩者本身都不是錯誤 – droidpl

+0

layout1.addView(layout1); - 我想你的意思是把你的TextView實例作爲參數。 – PPartisan

+0

'minSdkVersion'指定您的應用可以在其上運行的最早的Android平臺。 'targetSdkVersion'指定您想要訪問的工具的最新平臺。例如,如果您的用戶使用棒棒糖,則您需要使用Android 5中引入的一些API來增強其體驗。因此你設置了'targetSdkVersion = 22'。但是你的代碼可能包含一個ELSE塊,如果沒有這些新的API,它們允許你的應用在Andoid 4上運行,所以你設置了'minSdkVersion = 14'。 –

回答

1

你有沒有加入你的MainActivityAndroid Manifest

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

<application 
    .... > 
    <activity 
     android:name=".MainActivity" 
     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> 
0

當我不得不由於缺少庫這樣的問題就已經。轉到您的SDK Manager並確保您具有要編譯的API和工具的版本。如果沒有,BUST。