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:
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
Try to uninstall your app with
adb
. Like this:adb uninstall <package_name>
. Have you tried it with other phones?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.
If it is in your real device. Then go to Settings>>Applications>> Then search your app and do 2 things.
Now run you application. It should work.
You have to add this plugin in the top of
build.gradle
As first if you want to sign your application by your key you should add this key in build types as is shown below:
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: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:
this mean that the key doesn't exist or you make some wrong in your config
in build.gradle change compiled and build to latest version. and it worked for me.
================