2015-09-17 77 views
0

暫停Android Studio項目的工作一段時間,然後回來並將其添加到SVN後,我無法再讓該項目運行;在我看來,原來的AndroidManifest.xml可能由於缺乏適當的「SVN忽略」規則而丟失,並且當我在新機器上創建了一個新的Android Studio項目時,它已從SVN更新並稍後提交(並且不幸已更新在我工作的另一臺機器上),似乎SVN使用了更新的清單文件,並且可能需要其他文件來正確構建項目。雖然在AndroidManifest.xml中聲明瞭Android Studio不能識別MainActivity

除了在當前的清單文件中,有幾個活動缺少,我將不得不嘗試重構那裏,我現在有問題,我總是得到「默認活動未找到」錯誤時嘗試建立。當我將它設置爲.MainActivity(絕對存在於app/src/main/java/com.example.bla.logintest)時,它表示「活動」MainActivity「未在AndroidManifest.xml中聲明」,因此無法編譯。

我的清單文件現在看起來是這樣的:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.bla.logintest" > 
<uses-permission android:name="android.permission.READ_PHONE_STATE"> 
    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <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> 
     <activity 
      android:name=".EditDB" 
      android:label="@string/title_activity_edit_diags" 
      android:parentActivityName=".MenuActivity"> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.bla.logintest.MenuActivity" /> 
     </activity> 
     <activity 
      android:name=".EditAnswers" 
      android:label="@string/title_activity_edit_questions" 
      android:parentActivityName=".MenuActivity"> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.example.bla.logintest.MenuActivity" /> 
     </activity> 
    </application> 
</uses-permission> 
</manifest> 

注:我已經嘗試過在[這個類似的問題]解決方案[1]。

[1]:Default Activity not found in Android Studio「這個類似的問題」。重建和使緩存失效不會讓我獲得任何地方。我也加了

sourceSets { 
    main { 
     manifest.srcFile 'src/main/AndroidManifest.xml' 
    } 

我的build.gradle,這也沒有改變任何東西。

我知道,其他2項活動的家長仍然缺少,並希望接下來的工作,但首先想要有一個工作的默認活動。

你有什麼建議我可以嘗試嗎?我正在使用Android Studio 1.3.2。

+0

我可能是錯的,但隨後試圖關閉<使用許可權的android:NAME =「android.permission.READ_PHONE_STATE」 />而不是之後 Thilek

+0

@Thilek哎呀,它確實有效關閉: D把它作爲答案,將被接受:)謝謝! – cirko

+0

我試着在下面關閉uses-permission的代碼,我的活動從未開始,所以我認爲這可能是問題所在。無論如何樂意提供幫助。請享用.. – Thilek

回答

2

這應該可以解決您的問題。

您不應該在標籤內寫入標籤。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.example.bla.logintest" > 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <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> 
    <activity 
     android:name=".EditDB" 
     android:label="@string/title_activity_edit_diags" 
     android:parentActivityName=".MenuActivity"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.bla.logintest.MenuActivity" /> 
    </activity> 
    <activity 
     android:name=".EditAnswers" 
     android:label="@string/title_activity_edit_questions" 
     android:parentActivityName=".MenuActivity"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.example.bla.logintest.MenuActivity" /> 
    </activity> 
</application> 

</manifest>