Android无法安装我的应用程序,从Eclipse移植到Android Studio,在我的测试手机上,一个Pixel XL



Answers

如果什么都行不通,可以尝试在Android Studio中创建一个新的项目,并在创建第一个活动时将所有的内容复制到您的Java和XML布局文件中(例如相同的包名称,与Android设备的兼容性)来自旧项目。 创建另一个活动(例如,如果您的Eclipse项目中有DrawerActivity ,则在Android Studio中创建另一个DrawerActivity,这样可能会有效。

我不确定这是否可行,但这更容易的选择。 首先,复制旧项目的Resources文件夹中的所有内容,将所有Java文件复制到新项目中,并且由于需要定义Activities ,请将您的AndroidManifest.xml复制到新的应用程序中。

希望这可以帮助!

Question

几年来,我一直在为一个朋友的公司维护一个应用程序。 当他们最近从Android 5更新到Android 7时,该应用程序停止工作。 所以我移植到Android Studio,并开始修复东西。 现在,在压缩了一堆错误之后,我无法将应用程序安装到我的测试手机上,这是一台运行Android 8的Pixel XL。它运行调试图像,直到我卸载它,以便测试安装。 (我认为那是因为即时运行。)

现在我得到以下内容:

$ adb install-multiple -r -t I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_0.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_1.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_7.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_4.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_5.apk I:\Users\...\app\build\intermediates\split-apk\debug\dep\dependencies.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_6.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_3.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_8.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_2.apk I:\Users\...\app\build\intermediates\split-apk\debug\slices\slice_9.apk I:\Users\...\app\build\outputs\apk\debug\app-debug.apk 
Split APKs installed

$ adb shell am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
    Error while executing: am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
    Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.pbs.deliverytrack1/.MainActivity }
    Error type 3
    Error: Activity class {com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity} does not exist.

    Error while Launching activity

com.pbs.deliverytrack1 / com.pbs.deliverytrack1.MainActivity的外观是否正确?

附加说明:我能够通过运行Nougat 7.0的三星边缘7.0上的电子邮件安装apk。 我仍然无法将其安装到运行Oreo 8.0的Google Pixel XL上。

我已经尝试了我能想到的所有版本的组合。 关键,我想是在错误信息:

$ adb shell am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Error while executing: am start -n "com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.pbs.deliverytrack1/.MainActivity }
Error type 3
Error: Activity class {com.pbs.deliverytrack1/com.pbs.deliverytrack1.MainActivity} does not exist.

在说的部分:cmp = com.pbs.deliverytrack1 / .MainActivity,应该是com.pbs.deliverytrack1 / com.pbs.deliverytrack1.MainActivity?

更新在解决了minSDK,maxSDK和targetSDK以及三个不同版本的Android:7.0,7.1.1和8.0之后,我发现了一种继续工作的方法。 我的客户端使用7.0和7.1.1,所以我建立了一个运行7.0的模拟器,我一直用它来调试我的应用程序。 (其实是我妻子的建议)所以我再往前走。

在处理奇怪的问题时,我也会做我通常做的事情。 我将通过-XLint来解决所有的警告。 (当你不能修复你想要的bug时,宝贝,修复你所得到的bug。)除了清理一些长期悬而未决的问题之外,我希望最终会导致这个bug的消失。

感谢大家的帮助和建议。 我会留下这个开放一点,看看有人想出了奇迹。 我宁愿奖励赏金,也不愿意让它进入斗牛场。 :)

所以,我再次虚心求助。 谢谢,雷




我可以提出以下几点建议:1)如上面的一些评论中所建议的那样,我希望你已经禁用了“即时运行”(打开设置或者首选项对话框),导航到生成,执行,部署>即时运行和取消检查启用即时运行旁边的框)2)在AS中,转到文件 - >无效缓存并重新启动3)请尝试Gradle Clean然后Build(应用程序级别,从右侧的Gradle菜单选项)

&可以告诉当前哪个Android Studio版本ru使用?




Links