如何在我的应用程序中使用支持库而又不会在启动时崩溃?

时间:2018-10-06 11:01:17

标签: android aide-ide android-ide aide

我正在使用aide-ide创建一个新的Android应用,但在启动时崩溃。 这是代码:

这是默认的助手清单文件:

Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mycompany.myapp7" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme"
        android:resizeableActivity = "true">
        <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>
</manifest>

这里我刚刚添加了设计库

build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.0"

    defaultConfig {
        applicationId "com.mycompany.myapp7"
        minSdkVersion 15
        targetSdkVersion 21
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile 'com.android.support:design:25.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

这是我的主要Java文件,我扩展了AppCompat并添加了我的fab对象

MainActivity.java:

package com.mycompany.myapp7;
import android.os.*;
import android.support.design.widget.*;
import android.support.v7.app.*;
import android.view.*;

public class MainActivity extends AppCompatActivity 
{
    private FloatingActionButton fab ;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        fab =(FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    Snackbar.make(view, "Here's a Snackbar",
                    Snackbar.LENGTH_LONG)
                        .setAction("Action", null).show();
                }
            });
    }
}

这是我在fab的主要布局

Main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/
    res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/ic_my_icon"
    android:layout_margin="16dp" 
    android:clickable="true"/>

</LinearLayout>

LogCat: 什么都不显示

我的应用仅在使用

时崩溃
  

AppCompat

  

设计库

带有助手。

4 个答案:

答案 0 :(得分:0)

buil.gradle 更改

dependencies {
    compile 'com.android.support:design:25.+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
}

dependencies {
        compile 'com.android.support:design:21.+'
        compile fileTree(dir: 'libs', include: ['*.jar'])
    }

这是因为您正在使用

compileSdkVersion 21

targetSdkVersion 21

如果要使用设计支持库版本25,则应使用compileSdkVersio 25targetSdkVersion 25

我建议您使用这样的依赖项

dependencies {
    compile 'com.android.support:design:25.0.0'

}

因为使用'com.android.support:design:25.+' 每次您同步gradle时,它都想检查25. +版中的最新版本,其原因是浪费时间。

答案 1 :(得分:0)

我认为助手ide m2repository与我在android studio m2repository上尝试过的问题之间存在联系,并且它可以正常工作,现在我的项目可以像个魅力一样编译,并且我的应用程序启动时没有任何问题。 我希望这会对其他人有所帮助。

答案 2 :(得分:0)

minSdkVersion 14

以及styles.xml中的values文件夹中

<style name="ActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimaryDark">#d55d55</item>
</style>

以及活动标记中的AndroidManifest.xml:

android:theme="@style/ActivityTheme"

答案 3 :(得分:0)

显然您的xml文件未正确创建。试试下面的xml文件,它肯定会工作

<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout

 xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:fabview="http://schemas.android.com/apk/res-auto"
  android:id="@+id/main_coordinator_layout"
 android:layout_width="match_parent"
  android:layout_height="match_parent"
 android:fitsSystemWindows="true" >

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true" >

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@android:color/transparent" />

</android.support.design.widget.AppBarLayout>


<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_marginTop="?attr/actionBarSize"
    android:orientation="vertical" >

 <!-- your stuff here -->

</LinearLayout>


<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="#ff00ff"
    android:src="@drawable/your_png_image"
    android:tint="#ffffff"
    android:layout_gravity="bottom|end"
    android:layout_marginBottom="35dp"
    android:layout_marginEnd="15dp" />
</android.support.design.widget.CoordinatorLayout>

我在自己的AIDE中尝试了自己的代码,并在启动时强制关闭。因此,我使用您的其他代码重新创建了main.xml文件,并且它起作用了。并且不要忘记导入包的R