メッセージを受け取っていた
> Installation failed with message Failed to establish session.
問題へのいくつかの応答に従って、私はインスタントランを無効にし、私は始めました
> Installation failed with message Error: Android.os.ParcelableException: Java.io.IOException: Requested internal only, but not enough space.
Instant Runを無効にして有効にし、APKをビルドするために、プロジェクトの再構築、クリーンアップを試みましたが、何も問題を解決しませんでした。
これは私のbuild.gradle(Module:app)です。
apply plugin: 'com.Android.application'
Android {
compileSdkVersion 28
defaultConfig {
applicationId "com.example.gabriel.justmeet"
minSdkVersion 21
targetSdkVersion 28
versionCode 9
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
}
}
useLibrary 'org.Apache.http.legacy'
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.Android.support:appcompat-v7:28.0.0'
implementation 'com.Android.support.constraint:constraint-layout:1.1.3'
implementation 'com.Android.volley:volley:1.1.0'
}
これはbuild.gradle(Project)です
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
maven { url 'http://repo1.maven.org/maven2' }
}
dependencies {
classpath 'com.Android.tools.build:gradle:3.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven { url 'http://repo1.maven.org/maven2' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
これは、RegisterActivityを変更したときに始まりました。
package com.example.gabriel.paska;
import Android.content.Context;
import Android.content.Intent;
import Android.content.SharedPreferences;
import Android.support.v7.app.AppCompatActivity;
import Android.os.Bundle;
import Android.view.View;
import Android.widget.Button;
import Android.widget.EditText;
import Android.widget.Toast;
import com.Android.volley.AuthFailureError;
import com.Android.volley.Request;
import com.Android.volley.RequestQueue;
import com.Android.volley.Response;
import com.Android.volley.VolleyError;
import com.Android.volley.toolbox.StringRequest;
import com.Android.volley.toolbox.Volley;
import Java.util.HashMap;
import Java.util.Map;
public class RegisterActivity extends AppCompatActivity {
public static final String REGISTER_URL ="http://justmeet.000webhostapp.com/php/register.php";
public static final String KEY_USERNAME ="username";
public static final String KEY_PASSWORD="password";
public static final String KEY_NAME ="name";
public static final String KEY_AGE="age";
public static final String REGISTER_SUCCESS ="RegisterSuccess";
public static final String SHARED_PREF_NAME="tech";
public static final String USERNAME_SHARED_PREF="username";
public static final String LOGGEDIN_SHARED_PREF="loggedin";
private boolean loggedIn=false;
EditText etAge;
EditText etName;
EditText etPassword;
EditText etUsername;
Button bRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
etAge = findViewById(R.id.etAgeR);
etName = findViewById(R.id.etNameR);
etPassword = findViewById(R.id.etPwordR);
etUsername = findViewById(R.id.etUsernameR);
bRegister = findViewById(R.id.btRegister);
bRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
register();
}
});
}
private void register() {
final String name = etName.getText().toString().trim();
final String password = etPassword.getText().toString().trim();
final String username = etUsername.getText().toString().trim();
final String age = etAge.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.POST, REGISTER_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if(response.trim().equalsIgnoreCase(REGISTER_SUCCESS)){
SharedPreferences sharedPreferences = RegisterActivity.this.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putBoolean(LOGGEDIN_SHARED_PREF, true);
editor.putString(USERNAME_SHARED_PREF, name);
editor.apply();
Intent intent = new Intent(RegisterActivity.this, UserActivity.class);
startActivity(intent);
}else{
Toast.makeText(RegisterActivity.this, "Register Failed" + response.trim(), Toast.LENGTH_LONG).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> prams = new HashMap<>();
prams.put(KEY_USERNAME, username);
prams.put(KEY_PASSWORD, password);
prams.put(KEY_NAME, name);
prams.put(KEY_AGE, age);
return prams;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
@Override
protected void onResume() {
super.onResume();
SharedPreferences sharedPreferences = getSharedPreferences(SHARED_PREF_NAME,Context.MODE_PRIVATE);
loggedIn = sharedPreferences.getBoolean(LOGGEDIN_SHARED_PREF, false);
if(loggedIn){
Intent intent = new Intent(RegisterActivity.this, UserActivity.class);
startActivity(intent);
}
}
}
電話を使用している場合、このエラーはストレージが少ないことが原因です。スペースを確保して、再試行してください。
Android Studioで、AVD Managerを開き、問題のあるエミュレータを編集します。編集画面内で、[詳細設定を表示]をクリックする必要がある場合があります。下にスクロールして、内部メモリとSDカードメモリを増やします。これを実行した後、アプリを再度インストールできます。