2017-06-21 9 views
-1

アンドロイドスタジオでアンドロイドスタジオでアンドロイドスタジオを開発しましたが、アンドロイドスタジオからアプリを直接実行するとうまく動作しますが、いつでもアプリを送信してアプリをインストールするためにapkを生成しますここでクラッシュし、私にこの例外を与えるAndroidスタジオ:java.lang.ClassNotFoundException

RuntimeException: Unable to instantiate application com.projects.epic.khosomaty.MyApplication: java.lang.ClassNotFoundException: Didn't find class "com.projects.epic.khosomaty.MyApplication" on path: DexPathList[[zip file "/data/app/com.projects.epic.khosomaty-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]] 

は例外

public class MyApplication extends Application { 

    private static MyApplication mInstance; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 

     mInstance = this; 
    } 

    public static synchronized MyApplication getInstance() { 
     return mInstance; 
    } 

    public void setConnectivityListener(ConnectivityReceiver.ConnectivityReceiverListener listener) { 
     ConnectivityReceiver.connectivityReceiverListener = listener; 
    } 
} 

、ここでは、マニフェストファイルが

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

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

    <application 
     android:name="com.projects.epic.khosomaty.MyApplication" 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <provider 
      android:name="android.support.v4.content.FileProvider" 
      android:authorities="${applicationId}.provider" 
      android:exported="false" 
      android:grantUriPermissions="true"> 
      <meta-data 
       android:name="android.support.FILE_PROVIDER_PATHS" 
       android:resource="@xml/provider_paths" /> 
     </provider> 

     <meta-data 
      android:name="com.google.android.geo.API_KEY" 
      android:value="A............o" /> 

     <meta-data 
      android:name="com.google.firebase.messaging.default_notification_icon" 
      android:resource="@mipmap/ic_launcher" /> 

     <meta-data 
      android:name="com.google.firebase.messaging.default_notification_color" 
      android:resource="@color/white" /> 
     <meta-data 
      android:name="com.facebook.sdk.ApplicationId" 
      android:value="@string/facebook_app_id" /> 

     <activity 
      android:name="com.facebook.FacebookActivity" 
      android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation" 
      android:label="@string/app_name" /> 
     <activity 
      android:name="com.facebook.CustomTabActivity" 
      android:exported="true"> 
      <intent-filter> 
       <action android:name="android.intent.action.VIEW" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
       <category android:name="android.intent.category.BROWSABLE" /> 

       <data android:scheme="@string/fb_login_protocol_scheme" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".Activities.Login" 
      android:label="@string/log_in_tittle" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.SignUp" 
      android:label="@string/sign_up_tittle" /> 
     <activity 
      android:name=".Activities.ChangePassword" 
      android:label="@string/customer_change_password_tittle" /> 
     <activity 
      android:name=".Activities.MerchantDetails" 
      android:label="@string/title_activity_merchant_details" /> 
     <activity 
      android:name=".Activities.GeneralSearchResult" 
      android:label="@string/title_activity_search_result" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.DisscountsFilter" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.DiscountsFilterResult" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.SaleDetails" 
      android:label="@string/title_activity_sale_details" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.MerchantsFilter" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.MerchantsFilterResult" 
      android:theme="@style/AppTheme.NoActionBar" /> 

     <service android:name=".SendTokenIDService"> 
      <intent-filter> 
       <action android:name="com.google.firebase.INSTANCE_ID_EVENT" /> 
      </intent-filter> 
     </service> 
     <service android:name=".FireBaseMessagingService"> 
      <intent-filter> 
       <action android:name="com.google.firebase.MESSAGING_EVENT" /> 
      </intent-filter> 
     </service> 

     <activity 
      android:name=".Activities.RegisterVerify" 
      android:label="@string/customer_register_verify_tittle" /> 
     <activity 
      android:name=".Activities.CustomerHome" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.CustomerAddNumber" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.CustomerEditProfile" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <meta-data 
       android:name="android.support.PARENT_ACTIVITY" 
       android:value="com.projects.epic.khosomaty.Activities.CustomerHome" /> 
     </activity> 
     <activity android:name=".Activities.MerchantLogin" /> 
     <activity android:name=".Activities.MerchantSignUp" /> 
     <activity 
      android:name=".Activities.MerchantHome" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name=".Activities.MerchantHome" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
     <activity android:name=".Activities.MerchantAddDiscount" /> 
     <activity android:name=".Activities.MerchantAddWallet" /> 
     <activity 
      android:name=".Activities.MerchantRecievedRequests" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name=".Activities.MerchantRecievedRequests" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".Activities.WalletDetails" 
      android:label="@string/title_activity_wallet_details" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.RequestConfirmDetails" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.MerchantAddPurchase" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.CustomerTransaction" 
      android:parentActivityName=".Activities.CustomerHome" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name=".Activities.CustomerTransaction" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".Activities.MerchantRebatePoints" 
      android:theme="@style/AppTheme.NoActionBar" /> 
     <activity 
      android:name=".Activities.CustomerRebateConfirmation" 
      android:theme="@style/AppTheme.NoActionBar"> 
      <intent-filter> 
       <action android:name=".Activities.CustomerRebateConfirmation" /> 

       <category android:name="android.intent.category.DEFAULT" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".Activities.CustomerWallet" 
      android:label="@string/title_activity_customer_wallet" /> 
     <activity android:name=".Activities.CustomerFavoriteMerchants" /> 
     <activity 
      android:name=".Activities.CustomerWalletTransactionDetails" 
      android:label="@string/title_activity_customer_wallet_transaction_details" /> 
     <activity android:name=".Activities.Splash"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".Activities.CustomerWalletDetails" 
      android:label="@string/title_activity_customer_wallet_details" /> 
     <activity android:name=".Activities.Intro"></activity> 
    </application> 

</manifest> 
です原因クラスであります

私はapkを生成するときにアプリがクラッシュする理由を知っていますか?

私は前にパッケージ名を変更しました。

+0

applicationIdタグを使用してbuild.gradleファイル内のパッケージ名を確認してください – Akash

+0

applicationId "com.projects.epic.khosomaty" – Badr

+0

build.gradleファイルを追加できますか? –

答えて

0

こんにちはバドルのAndroid Studioに行く

To disable Instant Run: 

...あなたのAPKファイルを作成するには、この後のステップとリンクの下に行くと、ちょうどクリーンその後、実行インスタントのチェックを外し、再構築と実行プロジェクト下さい

1 - ファイル>設定または環境設定ダイアログを開きます。

2-ビルド、実行、展開>インスタント実行に移動します。

3 [インスタント実行を有効にする]の横にあるチェックボックスをオフにします。

あなたはbuild.gradleのAPPLICATIONIDフィールドから新しいパッケージ名でのmanifest.xmlをオーバーライドしていないことを確認し、さて、このリンクにhttps://developer.android.com/studio/run/index.html

0

に従ってください。

また、私は何かを勧告することができる場合:

public static synchronized MyApplication getInstance() { return mInstance; }

を私はこれがすべてでは良いアイデアだとは思いません。アプリケーションクラスの静的インスタンスを格納しないでください。私はactivity.getApplication()を使用することをお勧めしたいと思います。

+0

(applicationId "com.projects.epic.khosomaty")これはbuild.gradleファイルからのもので、パッケージ名はマニフェストと同じです – Badr

関連する問題