signed APK: Failure [INSTALL_FAILED_DEXOPT].. Upda

2019-06-21 05:39发布

the "app-release.apk" generated ... is not working on my devise, but the "app-debug.apk" is working perfectly,

Update:

after going to the previous version of my App:

in my MainActivity i have this strings:

public class MainActivity extends ActionBarActivity {

 @Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

     final String PREFS_NAME = "MyPrefsFile";

     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);

     if (settings.getBoolean("my_first_time", true)) {
         //the app is being launched for first time, do something

         TeamModel pm;
         DBHelper db;

         String teamNames1= "Los Angeles Lakers";
         String teamOpponent1= "Golden State Warriors";
         String teamDate1= "2015-03-16 22:30";

         String teamNames2= "Atlanta Hawks";
         String teamOpponent2= "Sacramento Kings";
         String teamDate2= "2015-03-16 20:00";

         .
         .

         String teamNames348= "Charlotte Hornets";
         String teamOpponent348= "Utah Jazz";
         String teamDate348= "2015-03-16 21:00";


         db = new DBHelper(getApplicationContext());
         db.getWritableDatabase();
         pm = new TeamModel();



         pm.teamname=       teamNames1;
         pm.teamopponent=teamOpponent1;
         pm.teamdate=        teamDate1;

         db.addTeam(pm);

         pm.teamname=       teamNames2;
         pm.teamopponent=teamOpponent2;
         pm.teamdate=        teamDate2;

         db.addTeam(pm);
         .
         .
         pm.teamname=       teamNames348;
         pm.teamopponent=teamOpponent328;
         pm.teamdate=        teamDate348;

         db.addTeam(pm);

         Log.d("Comments", "First time");
         settings.edit().putBoolean("my_first_time", false).commit();

After deleting Strings 1 to 107 (teamNames, teamOpponent, teamdate) from this Activity the App worked fine on my device

to explain more my MainActivity became:

public class MainActivity extends ActionBarActivity {

 @Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

     final String PREFS_NAME = "MyPrefsFile";

     SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);

     if (settings.getBoolean("my_first_time", true)) {
         //the app is being launched for first time, do something

         TeamModel pm;
         DBHelper db;

         String teamNames107= "Los Angeles Lakers"; !!!
         String teamOpponent107= "Golden State Warriors"; !!!
         String teamDate107= "2015-03-16 22:30"; !!!

         String teamNames108= "Atlanta Hawks";
         String teamOpponent108= "Sacramento Kings";
         String teamDate108= "2015-03-16 20:00";

         .
         .

         String teamNames348= "Charlotte Hornets";
         String teamOpponent348= "Utah Jazz";
         String teamDate348= "2015-03-16 21:00";


         db = new DBHelper(getApplicationContext());
         db.getWritableDatabase();
         pm = new TeamModel();



         pm.teamname=       teamNames107;
         pm.teamopponent=teamOpponent107;
         pm.teamdate=        teamDate107;

         db.addTeam(pm);

         pm.teamname=       teamNames108;
         pm.teamopponent=teamOpponent108;
         pm.teamdate=        teamDate108;

         db.addTeam(pm);
         .
         .
         pm.teamname=       teamNames348;
         pm.teamopponent=teamOpponent328;
         pm.teamdate=        teamDate348;

         db.addTeam(pm);

         Log.d("Comments", "First time");
         settings.edit().putBoolean("my_first_time", false).commit();

what's wrong? how can i fix this without deleting Strings?

My error log when i try to install app-release.apk on my device by terminal:

Failure [INSTALL_FAILED_DEXOPT]  

When i try to install on the devise on 'build variant: release' i got this:

enter image description here

Installation failed since the device possibly has stale dexed jars that don't match the current version (dexopt error). In order to proceed, you have to uninstall the existing application. WARNING: Uninstalling will remove the application data! Do you want to uninstall the existing application?

on OK or cancel i got:

Failure [INSTALL_FAILED_DEXOPT]

NB: on Emulator everything is fine

4条回答
我只想做你的唯一
2楼-- · 2019-06-21 05:48

Try to uninstall your app with adb. Like this: adb uninstall <package_name>. Have you tried it with other phones?

查看更多
我想做一个坏孩纸
3楼-- · 2019-06-21 06:02

If you are using Emulator then close the emulator. Run AVD Manager and Wipe data of the emulator clicking on edit button. In android studio you can easily wipe you emulator by right clicking on the emulator. enter image description here

If it is in your real device. Then go to Settings>>Applications>> Then search your app and do 2 things.

  1. Clear data
  2. Uninstall

enter image description here

Now run you application. It should work.

查看更多
神经病院院长
4楼-- · 2019-06-21 06:04

You have to add this plugin in the top of build.gradle

apply plugin: 'com.android.application'

As first if you want to sign your application by your key you should add this key in build types as is shown below:

buildTypes {
    release {
        signingConfig android.signingConfigs.config

    }
}

As the second you use empty productFlavors you don't need it please remove it.

When you do this call assembleRelease task form console by method:

./gradlew task assembleRelease

You will have apk file in {your_project}/{your_module[propadbly apk]}/build/outputs/apk/

And as last you make sure that you use proper key. Your logs says:

Failed to read key bbalarmkey from store "/Users/XXXXXXX/key.jks": Keystore was tampered with, or password was incorrect

this mean that the key doesn't exist or you make some wrong in your config

查看更多
迷人小祖宗
5楼-- · 2019-06-21 06:04

in build.gradle change compiled and build to latest version. and it worked for me.

================

android {
    compileSdkVersion 22
    buildToolsVersion "22"
查看更多
登录 后发表回答