<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tndroid的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tndroid</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tndroid]]></copyright><item><title><![CDATA[Android如何移除第三方SDK中的权限声明]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/124250822</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/124250822</guid><author>tndroid</author><pubDate>Mon, 18 Apr 2022 15:33:55 +0800</pubDate><description><![CDATA[目前隐私政策的要求较为严格，有些第三方SDK的引入可能导致我们的APP不合规，为了保证APP的合规，我们可以在主Module中如下处理，移除你们APP不适用的权限的声明。
    &lt;uses-permission
        android:name="android.permission.ACCESS_COARSE_LOCATION"
        tools:node="remove"/&gt;
    &lt;uses-permission
        android:name="an]]></description><category></category></item><item><title><![CDATA[OpenGL学习笔记]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/109386858</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/109386858</guid><author>tndroid</author><pubDate>Fri, 30 Oct 2020 15:50:37 +0800</pubDate><description><![CDATA[等待更新

]]></description><category></category></item><item><title><![CDATA[Android测试框架Robolectric和Espresso的集成和使用]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/109294038</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/109294038</guid><author>tndroid</author><pubDate>Mon, 26 Oct 2020 17:30:17 +0800</pubDate><description><![CDATA[Android测试框架Robolectric和Espresso的集成和使用
Robolectric跑测试的时候并不需要将app安装到手机上，它能模拟Android的环境，并且测试运行的时间较短。
Espresso运行测试的时候需要安装app，并且运行的时间比较长，这更像是一种集成测试。
集成
依赖
    testCompile "org.mockito:mockito-core:1.+"
    testCompile "org.robolectric:shadows-multidex:3.0"
   .]]></description><category></category></item><item><title><![CDATA[Appium环境配置(Mac)]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/109293407</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/109293407</guid><author>tndroid</author><pubDate>Mon, 26 Oct 2020 17:08:24 +0800</pubDate><description><![CDATA[windows可以参考 windows配置
安装Appium
首先通过brew安装nodejs：
brew install node
配置国内源，在个人目录下新建一个.npmrc文件，写入：
registry=https://registry.npm.taobao.org/
开始安装Appium：
(如果报为 check permission的错误 可以先 执行 npm install cnpm -g)
npm install -g appium
npm install -g appium-doctor
只]]></description><category></category></item><item><title><![CDATA[Frida使用备忘]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/109026295</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/109026295</guid><author>tndroid</author><pubDate>Mon, 12 Oct 2020 13:54:39 +0800</pubDate><description><![CDATA[Frida使用备忘
[Except] - Unable to inject into process: unable to connect to remote frida-server
解决方法：adb forward tcp:27042 tcp:27042

]]></description><category></category></item><item><title><![CDATA[TextView设置行间距 和 字间距]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/106629321</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/106629321</guid><author>tndroid</author><pubDate>Mon, 08 Jun 2020 21:41:11 +0800</pubDate><description><![CDATA[行间距用: android:lineSpacingMultiplier="1.1"

字间距用：android:letterSpacing="0.5"


]]></description><category></category></item><item><title><![CDATA[Android在Log中打印出当前的调用栈]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/106490565</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/106490565</guid><author>tndroid</author><pubDate>Tue, 02 Jun 2020 10:18:37 +0800</pubDate><description><![CDATA[Android在Log中打印出当前的调用栈
Log.d(TAG,Log.getStackTraceString(new Throwable()));

]]></description><category></category></item><item><title><![CDATA[Fatal signal 11 (SIGSEGV)  (WebViewCoreThre)崩溃的解决]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/53939522</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/53939522</guid><author>tndroid</author><pubDate>Fri, 30 Dec 2016 09:51:35 +0800</pubDate><description><![CDATA[这个崩溃在三星S4 android版本4.3的手机上 退出webview页面的时候会出现。 
当时遇到这个的感觉就是一个字，坑。废话不多说，直接上解决方法    @Override
    protected void onResume() {
        super.onResume();
        if(webView != null){
            webView.res]]></description><category></category></item><item><title><![CDATA[Android 汉字转拼音]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/51785007</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/51785007</guid><author>tndroid</author><pubDate>Wed, 29 Jun 2016 18:15:29 +0800</pubDate><description><![CDATA[HanziToPinyin.javapackage com.uc108.mobile.gamecenter.util;/*
 * Copyright (C) 2011 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not]]></description><category></category></item><item><title><![CDATA[动态获取树莓派的变动外网ip]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/51002466</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/51002466</guid><author>tndroid</author><pubDate>Tue, 29 Mar 2016 00:14:41 +0800</pubDate><description><![CDATA[ip变化时发邮件通知在此目录下创建 /home/config.py 配置邮箱信息#!/usr/bin/env python
#-*-coding:utf-8-*-
smtpServer='smtp.126.com' #邮件发送帐户的smtp服务器地址
smtpPort='25' #邮件发送帐户的smtp服务器发送端口
smtpUser='xxxxx@126.com' #邮件发送帐户名
smtpPwd]]></description><category></category></item><item><title><![CDATA[Android ScrollView自动滑动一段距离的问题解决]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/50132531</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/50132531</guid><author>tndroid</author><pubDate>Tue, 01 Dec 2015 17:38:06 +0800</pubDate><description><![CDATA[问题出现的原因是因为ScrollView中子布局的的焦点的变化导致ScrollView自动的滑动 。所以解决方法就是让ScrollView中的最外层子布局焦点固定。 <ScrollView
        android:id="@+id/scrollView1"
        android:layout_width="match_parent"
        android:layout_h]]></description><category></category></item><item><title><![CDATA[解决安卓全屏“FLAG_FULLSCREEN”状态下“adjustResize”失效，全屏状态下WebView的输入框被软键盘挡住的问题]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/49333501</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/49333501</guid><author>tndroid</author><pubDate>Thu, 22 Oct 2015 14:52:16 +0800</pubDate><description><![CDATA[沿着这个问题的线索，可以追溯到：http://code.google.com/p/android/issues/detail?id=5497   ，安卓官方问题回馈帖，这个问题的代号为“5497” ，就这个问题帖的回复来看，该问题困惑了许多人数年之久，问题发布日期“Dec
 16, 2009”，现在我在安卓4.4.2环境运行，这个问题依旧存在。在此推荐这其中的一个解决方法，来自：stackove]]></description><category></category></item><item><title><![CDATA[java.lang.IllegalStateException: Fragment  not attached to Activity 解决]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/48678113</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/48678113</guid><author>tndroid</author><pubDate>Wed, 23 Sep 2015 11:50:27 +0800</pubDate><description><![CDATA[在fragment中调用getResources()方法前先判断下 isAdded() 
当 isAdded()为true 才去调用getResources()]]></description><category></category></item><item><title><![CDATA[android处理不标准的json字符串]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/48546547</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/48546547</guid><author>tndroid</author><pubDate>Fri, 18 Sep 2015 14:49:27 +0800</pubDate><description><![CDATA[使用gson库gson库下载地址package com.example.androidtest;import java.io.Serializable;import com.google.gson.annotations.SerializedName;public class GameBean implements Serializable{    /**
     * 
     */
    p]]></description><category></category></item><item><title><![CDATA[android获取已安装nolaunch（没有安装图标）的apk]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/48470633</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/48470633</guid><author>tndroid</author><pubDate>Tue, 15 Sep 2015 17:28:47 +0800</pubDate><description><![CDATA[//获取已安装的apk为nolaunch的列表
    public static boolean isNoLaunchApp(Context context, String packageName) {
        List<ResolveInfo> apps;
        Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null]]></description><category></category></item><item><title><![CDATA[Android增量更新]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/48470353</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/48470353</guid><author>tndroid</author><pubDate>Tue, 15 Sep 2015 17:13:58 +0800</pubDate><description><![CDATA[1、生成差异包使用bsdiff4.3生成差异包。打开cmd，进入到bsdiff4.3-win32工具所在位置 
             拆分差异包命令如下： 
bsdiff  旧apk地址  新apk地址 生成差异包地址 
E:\apk\bsdiff4.3-win32\bsdiff4.3-win32>bsdiff e:\apk\old.apk e:\apk\new.apk e:\a 
pk\upd]]></description><category></category></item><item><title><![CDATA[Android Studio编译时间过长问题解决]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/47960709</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/47960709</guid><author>tndroid</author><pubDate>Mon, 24 Aug 2015 22:32:51 +0800</pubDate><description><![CDATA[build.gradle中 
dependencies { 
    //这种导致编译的时候超级慢，我用 mac 竟然编译了 9个小时 
    compile ‘com.android.support:support-v4:20.0.0’ 
   //改完之后就编译了几十秒  
   //改成如下这种就OK了，当然你在你的libs文件夹下 放入android-support-v4.jar]]></description><category></category></item><item><title><![CDATA[Android多行gridview横向滑动的实现]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/47747435</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/47747435</guid><author>tndroid</author><pubDate>Tue, 18 Aug 2015 09:56:34 +0800</pubDate><description><![CDATA[关键代码    /**
     * 设置GridView的宽度
     *
     * @param defaultColumns 设置列数 4
     * @param defaultRows    设置行数 2
     */
    private void setGridViewValue(GridView gridView, int postion, int defaultColu]]></description><category></category></item><item><title><![CDATA[Activity设置切换动画时黑屏问题的解决]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/47446423</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/47446423</guid><author>tndroid</author><pubDate>Wed, 12 Aug 2015 16:10:09 +0800</pubDate><description><![CDATA[//当这么设置的时候，打开Acticity的时候会黑屏一下
overridePendingTransition(R.anim.activity_open,0);//改成如下代码 完美解决问题
//设置打开Activity时的动画
overridePendingTransition(R.anim.activity_open,R.anim.activity_stay);
activity_open.xm]]></description><category></category></item><item><title><![CDATA[Android Activity对话框（窗口）样式设置]]></title><link>https://blog.youkuaiyun.com/tndroid/article/details/47166867</link><guid>https://blog.youkuaiyun.com/tndroid/article/details/47166867</guid><author>tndroid</author><pubDate>Fri, 31 Jul 2015 10:48:52 +0800</pubDate><description><![CDATA[<activity
            android:theme="@style/progress_dialog_theme"
            android:name=".TestActivity"
            android:screenOrientation="portrait" />    <style name="progress_dialog_theme" pa]]></description><category></category></item></channel></rss>