Android:安装APK时出错

Luc*_* P. 55 java android failed-installation android-studio

我正在慢慢地尝试做一些简单的任务Android Studio.以下应用程序安装在模拟器上,没有任何错误.但当我尝试在真实设备Redmi 3S上安装它时出现此错误:

Unknown failure (Failure - not installed for 0)
Error while Installing APKs
Run Code Online (Sandbox Code Playgroud)

我在这里遇到了类似的问题,但在这些情况下,错误是由未启用调试或不接受应用程序安装引起的.但是,我允许调试,我还尝试在Studio中安装其他一些应用程序,它运行正常.

所以问题可能是,代码有什么问题.

MainActivity.java

package tlacitko.button;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void sendMessage(View view) {
        new Thread(new Runnable() {
            public void run() {

                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        try{
                            URL url = new URL("http://147.32.186.51:8080");
                           // HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                            InputStream is = url.openStream();
                            BufferedReader br = new BufferedReader(new
                                    InputStreamReader(is));
                            String s = "";
                        }catch(MalformedURLException ex){

                        }catch(IOException e){
                        }
                    }
                });
            }
        }).start();
    }
}
Run Code Online (Sandbox Code Playgroud)

和xml代码:

activity_main.xml中

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Try to connect the server."
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginRight="7dp"
        android:layout_marginTop="16dp"
        android:onClick="sendMessage"
        android:text="Conncect"
        app:layout_constraintLeft_toRightOf="@+id/editText"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />


</android.support.constraint.ConstraintLayout>
Run Code Online (Sandbox Code Playgroud)

小智 114

请按照以下步骤来解决此问题.

断开连接到系统的所有设备,并关闭在System上运行的所有仿真器.从设置中关闭"即时运行"功能.执行干净的构建.从设置中启用"即时运行"功能.执行干净的构建.连接您的设备/启动您的模拟器并确保它在线.通过选择设备/模拟器来运行项目.

注意:

1)您不应该在系统上运行不同的Android Debug Bridge(adb)实例.

2)如果使用Genymotion,请确保使用您在Android Studio设置中提到的Genymotion设置中提到的自定义sdk路径.

这些步骤可能会解决您的问题,但它也可能是Android版本的问题.


Ani*_*tra 53

关闭Android Studio中的即时运行.请按照以下步骤操作:

  1. 文件>>设置>>构建,执行,部署.

  2. 单击" 即时运行"并取消选中" 在部署时启用即时运行以热插拔代码/资源更改 ".

  3. 单击" 应用 "和" 确定 ".

尝试再次运行该应用程序.它应该现在安装应用程序.您可以随时重新启用Instant Run.

编辑(Android Studio 3.0)

禁用即时运行(Android文档)

要禁用即时运行:

  1. 打开设置首选项对话框.(对于Mac,Android Studio - > 首选项)
  2. 导航到构建,执行,部署 > 即时运行.
  3. 取消选中启用即时运行旁边的复选框.

  • 这解决了我的问题,Android Studio中的原始错误消息是"Unknown failure(在android.os.Binder.execTransact(Binder.java:565)") (7认同)

Mah*_*iya 9

对于Redmi和Mi设备,请关闭MIUI Optimization并重新启动手机.

设置>其他设置>开发人员选项> MIUI优化

点击这里查看答案


Moh*_*lim 9

对我来说,我只是为应用程序做了一个干净,然后一切正常.


Smi*_*les 6

我现在遇到了这个问题,我已经卸载了apk,现在我使用Android Studio 3.0想要运行apk到Xiaomi MIX 2(Android 7.1.1,API 25),但是失败了。

$ adb shell pm install -t -r "/data/local/tmp/com.package"
Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
Run Code Online (Sandbox Code Playgroud)

而且Android Studio告诉我“有可能通过卸载apk的现有版本(如果存在)然后重新安装来解决此问题。” 但我已经卸载了该APK。

Android Studio弹出信息

而且我单击“确定”按钮,但是也失败了。

$ adb shell pm uninstall com.package
Unknown failure (at android.os.Binder.execTransact(Binder.java:565))
Error while Installing APK
Run Code Online (Sandbox Code Playgroud)

最后,我找到了解决该问题的方法,我没有打开“通过USB验证应用程序”,因为现在该设备无法打开,直到您登录小米帐户,并且这是尚未登录的新设备。

步骤1:转到“设置”?在系统中找到“开发人员选项”,然后单击。

步骤2:在“调试”部分中打开“通过USB验证应用程序”

步骤3:再次在Android Studio中尝试“运行应用”!


hap*_*ing 6

在尝试以上所有建议之前,请检查设备中足够的可用存储空间。这也将导致此问题。

错误:android.os.ParcelableException:java.io.IOException:仅内部请求,但没有足够的空间

快乐的编码:)