Android问题集锦(1)

来源:互联网 发布:人工智能程序设计java 编辑:程序博客网 时间:2024/06/05 20:31

注:记录自己平常工作中遇到的一些问题,以及应对这些问题的解决方案。方便自己查看,也方便他人遇到同样的问题,可以少走些弯路。

1. android studio :   no debuggable applications 

解决方案:Tools->Android->Enable ADB Integration 选中。


如果选中还提示no debuggable applications 的话,有可能是你自己的add没有配置。自己可以在终端用命令 add devices 查看一下。 我自己就是弄完不可以,最后才发现自己的adb配置完成后,配置文件没有立即生效导致的。



辅助说一点,adb的配置吧,首先打开terminal~

(1)cd ~

(2)touch .bash_profile 回车 ps:  touch:如果没有,则创建文件,如果有,更新一下文件时间

(3) open -e .bash_profile 回车查看文件

export PATH=${PATH}:/Users/zyh/Library/Android/sdk/platform-tools
export PATH=${PATH}:/Users/zyh/Library/Android/sdk/tools

这是我电脑上的路径。不知道路径的可以tools->Android->SDKManager

查看自己Android SDK Location 的配置路径即可~


(4) source .bash_profile 使配置文件生效即可。

2. 在非activity得文件里使用startActivity()函数打开具体页面。

Intent intent = new Intent(GlobalData.app(), MainActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.putExtra(EXTRA_CONTROLLEE_END, true);GlobalData.app().startActivity(intent);
示例代码是从一个控制类,打开MainActivity. 这里代码中的flag是必须的,否则会报错误。
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

3. git 今天遇到一个错误记录一下。

解决办法:
参考:http://www.centoscn.com/CentosBug/softbug/2014/0508/2933.html 

里面讲了三种方法,我是用第一种方法解决的。

1. 删除提示信息中,对应的行数,例如上例,需要删除/home/cobyeah/.ssh/known_hosts文件的第7行(自己亲身试验可行)。

2. 删除整份/home/cobyeah/.ssh/known_hosts文件。

3. 修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题StrictHostKeyChecking no

UserKnownHostsFile /dev/null

4.  今天遇到一個bug: 錯错误信息如下:

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'.> java.util.zip.ZipException: duplicate entry: com/google/gson/Gson$5.class
解决方案:

compile('com.digits.sdk.android:digits:1.5.0@aar') {    transitive = true;    exclude module: 'gson';}
给自己添加的包添加

exclude module: 'gson';

即可解决问题。

参考网址:http://stackoverflow.com/questions/30727582/gradle-duplicate-entry

5.  android Intent 分享: 

国外的app, whatsApp以及Instagram都没有自己的Api来完成分享,都使用的是Android的intent机制完成的。实现如下:

//纯文本分享  whatsApp会识别shareUrl然后会显示对应的文件。public Intent shareTextIntent(String destext, String shareUrl) {    Intent share = new Intent(Intent.ACTION_SEND);    share.putExtra(Intent.EXTRA_TEXT, destext + shareUrl);    share.setType("text/plain");    share.setPackage(PACKAGE_WHATSAPP);    return share;}
WhatsApp会自动识别分享url中的内容并显示出来,很智能。

同理,分享图片的:

//包含标题,详情,以及图片的分享public Intent shareLocalStandardIntent(String title, String description, String localImagePath) {    Intent share = new Intent(Intent.ACTION_SEND);    share.setType("image/*");    Uri uri = Uri.fromFile(new File(localImagePath));    share.putExtra(Intent.EXTRA_SUBJECT, title);    share.putExtra(Intent.EXTRA_TEXT, description);    share.putExtra(Intent.EXTRA_STREAM, uri);    share.setPackage(PACKAGE_WHATSAPP);    return share;}
这里可以分享但是,Instagram只会显示图片,标题和描述都不显示。 whatsApp是标题不显示,描述以及图片可以显示。这个可能跟第三方app的机制有关。

分享视频的同理:类型换成video/*即可。文件Uri传mp4等格式的视频文件即可。


1 0