没了天还有我丶 没了天还有我丶
关注数: 3 粉丝数: 12 发帖数: 757 关注贴吧数: 11
小内存戳进 虽然手机开始了app2sd,软件也是安装在卡上,但你依然会发现软件安装多了以后data分区仍然会不足, 本帖隐藏的内容 原因是每一个程序的dex文件和部分数据文件存到了data分区,而cache和system分区仍然有很多空间我们无法使用,有一种方法可以解决,就是对手机空间重新分区,将data分大一点,但这种方法太麻烦,还有成砖头的危险。所以,这里介绍一种安全简易的方法。准备re管理器,需要root权限,用RE在system创建一个文件夹,名称自定义,然后进去data分区,进去dalvik-cache文件夹你会发现软件全部的dex文件都在这里,其中有些文件占空间非常大,比如微信的就占了5M,我们可以选择复制该文件粘贴到你新建的那个文件夹中,然后在那个文件夹中长按那个文件,弹出菜单,选择链接到此文件,然后粘贴到dalvik-cache文件夹中,选择覆盖,ok啦,data分区就节省了5m空间,其他也是这样移动,还可以选择整个文件夹移动,data/data中是软件存档,也是可以移动的,也可以移动部分到cache分区,记住cache分区最少留下15m空间,system分区可用完。当然,如果你也可以移动到sd卡中,前提是你的sd卡读写速率在class6及其以上,并且分好区,可以用这种链接将data/data整个文件夹都链接到sd卡分区中, 注意!!!以system@开头的dex文件最好不要移动到sd卡中,否则有可能导致系统不稳定。
教你用安卓神器-APK编辑器(手机端)改程序名、去广告 1,打开apk编辑器,找到需要改名的程 序,如果你不知道原程序名是什么,可以 通过“apk编辑器”,直接长按apk程序,在 弹出的窗口中选“安装”,就可以看到程序名 了! 我以“愤怒的小鸟”为例,通过安装时可以看 到,愤怒的小鸟的程序名为英文的,现在 将它改成中文名“愤怒的小鸟”! 2,在apk编辑器中,直接点击程序,将 apk程序打开,再点击打 开“resources.arsc”文件! 3,打开“resources.arsc”文件后,找到程序 文件名,白色窗口下方会有提 示“app_name”(程序名字),也可以通过 搜索功能,搜索“angry birds”来找到它!然 后直接在下方白色窗口中,改成“愤怒的小 鸟”! 4,名称改完后,点虚拟“菜单”按键,选择 保存,这时会提示保存到字典,点否就可 以了,然后文件开始保存! 如果你够细心的话,会发现在保存的最后 一步中,会出现“signing.......”,意思是“签 名”,所以说,通过“apk编辑器”编辑保存 后的apk程序,会自动签名,不需要单独 签名就可以直接安装了! 5,保存完毕后,返回程序列表,会发现多 了一个同名文件(蓝圈),但后缀名 是“.apk.bak“,它是原始的apk备份文件, 也就是没有经过编辑的apk文件,只要把 后缀名“.bak”去掉,它就会变成原始的apk 文件了!在安装、运行编辑后的apk程序 无问题时,就可以把备份文件删除了! 以上是通过“apk编辑器”改名方法,下面再 说说去广告的方法! 1,前面如何找到和打开apk程序就不说 了,从主要说起;还是以“愤怒的小鸟”为 例! 2,打开apk程序后,直接选择点 击“classes.dex”文件 3,因为dex中文件众多,我们只有利用搜 索功能找广告地址了,点“放大镜”,再弹出 的窗口中,输入“http://”(网址前缀),然 后点“确定”,就会找到广告网址了; 4,在广告网址下方的白色窗口中,输 入“0.0.0.0”(无效的ip地址,其实输入无效 网址也可以),一定要是无效的地址,不 然谁知道游戏中会弹出什么东东来!另外 一点要注意,每改一个广告网址,输入的 内容不能相同,不然无法保存的,所以第 一个是0.0.0.0,那么第二个就应该是 0.0.0.1...........以此类推;这一页的网址改完 后,按右双箭头反倒*页,或直接再用 搜索继续搜索网址,直到再次搜索时,提 示“未找到”,说明就没有网址了! 5,广告网址改完后,就可以保存了;保存 方法和上面的“改名保存”方法一样;同样 的,保存时,最后一步会自动签名,所以 保存后的apk程序无需单独签名了,可以 直接安装使用! 6,即使经过去网站编辑后,apk编辑器仍 然会自动备份原始apk文件(.apk.bak文 件),编辑后的apk文件如果按照运行无 异常,可以将备份文件删除!
线性布局常识 Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局,也叫框架布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布局)。而我们对于仿魅族用得更多的是线性布局。然而对于有的少部分手机它也涉及框架布局和相对布局。 我主要讲线性布局 android:background 设置整个布局画面的背景 , 如android:background='@drawable/img_bg' //img_bg就为为drawable下的一张图片 。比如状态栏透明,就需要改这个引号里的为透明代码。 android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局 ~~~~~~~分割线~~~~~~~~ Ø android:id 为控件指定相应的id Ø android:text 指定控件当中显示的文字,需要注意的是,尽量使用strings.xml Øandroid:textSize ="35.0dip"指定控件当中字体的大小 ,比如添加到时间代码或者运营商等等代码里面就可以控制时间大小。 Øandroid:textcolor=" #264EBF "这是控制颜色的代码。引号里的即为颜色代码。此为蓝色。你们也可以自己更改。比如添加到时间和运营商等等里面就可以控制颜色。 即为android:layout_width="fill_parent"定义当前视图在屏幕上 可以消费的宽度,fill_parent即填充整个屏幕。 android:layout_height="wrap_content":随着文字栏位的不同 而改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思 android:gravity="top(上)"(buttom(下)、left(左)、right右、center_vertical(中心垂直)、fill_vertical、center_horizontal(中心平行)、fill_horizontal、center、fill、clip_vertical、clip_horizontal)控制布局中控件的对齐方式。如果是没有子控件的控件设置此属性,表示其内容的对齐方式,比如说TextView里面文字的对齐方式; ~~~~~~~分割线~~~~~~~ 若是有子控件的控件设置此属性,则表示其子控件的对齐方式,gravity如果需要设置多个属性值,需要使用“|”进行组合,如右下(gravity='bottom|right) android:gravity 与 android:layout_gravity的区别 android:gravity是指定本元素的子元素相对它的对齐方式。 android:layout_gravity是指定本元素相对它的父元素的对齐方式( 如果子控件layout_gravity对齐方式设置为右对齐,如果想layout_gravity起作用的话,线性布局必须是垂直, 同理,如果对齐方式设置为下对齐,则线性布局必须是水平的。 对于线性布局,其中的子控件的对齐属性如果设置右下对齐,即:layout_gravity='bottom|right',那么 如果是水平线性布局,则下对齐起作用,右对齐不起作用。 如果是垂直线性布局,则右对齐起作用,下对齐不起作用。 )。后面举个例子 例子:布局对于子控件来说具有绝对的权威,在布局的gravity属性中定义的对齐方式是什么就是什么,子控件无法进行修改。 1.如果布局是水平线性布局,则子控件可以修改自身的上下对齐方式,即:layout_gravity='top'和layout_gravity='bottom' 是可以起作用的,这将会对布局中gravity属性定义的上下对齐方式进行覆盖。 2.如果布局是垂直线性布局,则子控件可以修改自身的左右对齐方式,即: layout_gravity='left'和layout_gravity='right' 是可以起作用的。这将会对布局中gravity属性定义的左右对齐方式进行覆盖。 (注:线性布局没有orientation属性,默认是水平线性布局) ~~~~~分割线~~~~~~~ ⢡android:padding 设置子元素与布局边缘之间的空白可以添加离左离右如 android:paddingLeft="111.dip"即为离布局左边缘距离(记住那个Left首字母大写,我就犯过这个错误导致不能回编译,其他也一样) android:layout_margin="10dp" 设置自身对象边缘与父布局的边缘之间的空白 ⢡ 解决LinearLayout中控件不能居右对齐 在LinearLayout布局时使用右对齐(android:layout_gravity='right')控件对齐方式不生效,需要设置 android:layout_weight='1' 才能右对齐控件,原因在于后者把位置平分了。即为在 LinearLayout整段代码后面加 android:layout_weight='1' android:layout_weight (线性布局 内子元素对未占用空间【水平或垂直】分配权重值,其值越小,权重越大。 前提是子元素 设置了 android:layout_width = "fill_parent" 属性(水平方向) 或 android:layout_height = "fill_parent" 属性(垂直方向) 如果某个子元素的 android:layout_width = "wrap_content" 或 android:layout_height =" wrap_content” , 则 android:layout_weight 的设置值 对该方向上空间的分配刚好相反。 ⢡ android:sigleLine 如果设置为true,则将控件的内容在同一行中进行显示。 //如果字符太多就自动用“...”省略号代替。假如这个值为false的话,有可能内容太多把其它的控件给挤到看不到了 android:layout_alignParentLeft="true" /> 子视图的左边与其父视图的左边重合,也就是子视图在父视图中居左显示。
4.0全局透明 1.反编译:framework-res.apk,反编译成功后进入res\values\styles.xml,搜索:在这句下面添加代码:<itemname="windowSoftInputMode">adjustPan</item>< itemname="windowShowWallpaper">false</item>搜索:<stylename="Theme.Holo.InputMethod"parent="@style/Theme.Holo.Light.Panel">在最下面添加代码:<itemname="windowShowWallpaper">false</item>搜索:<style name="Theme.DeviceDefault.Dialog" parent="@style/Theme.DeviceDefault">在这句的下面添加代码:<itemname="windowSoftInputMode">adjustPan</item> < itemname="windowShowWallpaper">false</item>搜索:<stylename="Theme.DeviceDefault.Light.Dialog"parent="@style/Theme.DeviceDefault.Light">在这一句的下面添加代码 <itemname="windowSoftInputMode">adjustPan</item> < itemname="windowShowWallpaper">false</item>搜索:<stylename="Theme.DeviceDefault.InputMethod"parent="@style/Theme.DeviceDefault">在这句的下面添加代码:<itemname="imeExtractExitAnimation">@anim/input_method_extract_exit</item><item name="windowShowWallpaper">false</item>搜索:搜索: <style name="Theme.Holo" parent="@style/Theme">然后再往下搜索:把这句<itemname="windowShowWallpaper">false</item>改为:<itemname="windowShowWallpaper">true</item>修改完毕后就保存.2.进入res\values\drawables.xml,搜索<itemtype="drawable"name="status_bar_closed_default_background">#ff000000</item>< item type="drawable"name="status_bar_opened_default_background">#ff000000</item>< item type="drawable"name="screen_background_holo_dark"><a href="http://tieba.baidu.com/mo/q/hotMessage?topic_id=0&fid=0&topic_name=ff000000&amp;lt;/item&amp;gt;把后面的代码全部改为&is_video_topic=0">#ff000000&amp;lt;/item&amp;gt;把后面的代码全部改为#</a>00000000,改完之后保存.进入res\drawable-nodpi搜索名为background_holo_dark和tw_background_holo_dark,把图片修改为透明就可以了.(你也可以用其他图片,用些有人物背景的图片也行,然后在把图片透明一下.不需要全透,半透或者70%透明就行了)
2.3全局透明 使用apktool反编译framework-res.apk,【全局透明(极少出现背景图片的BUG)】用notepad++打开res\values\styles.xml查找<style name="Theme">,该主题下找到<item name="windowBackground">,将这一行修改为<item name="windowBackground">@color/background</item>该主题下找到<item name="windowShowWallpaper">,将这一行修改为<item name="windowShowWallpaper">true</item>查找<style name="Theme.NoTitleBar" parent="@style/Theme">在<item name="windowNoTitle">true</item>下一行添加<item name="windowShowWallpaper">false</item><item name="windowBackground">@drawable/holo_dark_background</item>查找<style name="Theme.Black" parent="@style/Theme">,修改<item name="colorBackground">这一行为<item name="colorBackground">@color/transparent</item>查找<style name="Theme.Dialog" parent="@style/Theme">,该主题下添加<item name="windowShowWallpaper">false</item>查找<style name="Theme.Light" parent="@style/Theme">,该主题下添加<item name="windowShowWallpaper">false</item>查找<style name="Theme.Translucent" parent="@style/Theme">,该主题下添加<item name="windowShowWallpaper">false</item>查找<style name="Widget.PopupWindow" parent="@style/Widget">,该主题下添加<item name="windowShowWallpaper">false</item>查找<style name="Widget.KeyboardView" parent="@style/Widget">,该主题下添加<item name="windowShowWallpaper">false</item>查找<style name="Theme.Panel" parent="@style/Theme">,该主题下添加<item name="windowShowWallpaper">false</item>查找<style name="Widget.QuickContactBadge" parent="@style/Widget">,该主题下添加<item name="windowShowWallpaper">false</item>查找<style name="Widget.QuickContactBadgeSmall" parent="@style/Widget">,该主题下添加<item name="windowShowWallpaper">false</item>查找<style name="Theme.ExpandedMenu" parent="@style/Theme">,该主题下添加<item name="windowShowWallpaper">false</item>用notepad++打开res\values\colors.xml,添加<color name="background">#99000000</color>选择一张图片命名为holo_dark_background.png,放在res\drawable-nodpi下面。【全局背景】(无BUG出现!)用notepad++打开res\values\styles.xml查找<style name="Theme">, 修改<item name="windowBackground">这一行为<item name="windowBackground">@drawable/holo_dark_background</item>选择一张图片命名为holo_dark_background.png,放在res\drawable-nodpi下面。
apktool问题,急,求大神!!! 我的apktool昨天早上还好好的,昨天晚上导入一个朋友的framework后反编译我的systemUI.apk就出现以下代码 W: Could not decode attr value, using undecoded value instead: ns=android, name=versionCode, value=0x0000000f W: Could not decode attr value, using undecoded value instead: ns=android, name=versionName, value=0x0000001e Exception in thread "main" java.lang.NullPointerException: at brut.androlib.res.decoder.XmlPullStreamDecoder$1.parseManifest(XmlPullStreamDecoder.java:101) at brut.androlib.res.decoder.XmlPullStreamDecoder$1.event(XmlPullStreamDecoder.java:67) at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:147) at brut.androlib.res.decoder.XmlPullStreamDecoder.decodeManifest(XmlPullStreamDecoder.java:161) at brut.androlib.res.decoder.ResFileDecoder.decodeManifest(ResFileDecoder.java:131) at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:288) at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:116) at brut.androlib.ApkDecoder.decode(ApkDecoder.java:106) at brut.apktool.Main.cmdDecode(Main.java:166) at brut.apktool.Main.main(Main.java:85) I: Using Apktool 2.0.0-Beta7 on SystemUI.apk I: Loading resource table... I: Decoding AndroidManifest.xml with resources... 导入我的framework就出现下面的代码 Exception in thread "main" brut.androlib.AndrolibException: Can't create directory: /apktool/framework at brut.androlib.res.AndrolibResources.getFrameworkDir(AndrolibResources.java:796) at brut.androlib.res.AndrolibResources.installFramework(AndrolibResources.java:690) at brut.androlib.Androlib.installFramework(Androlib.java:640) at brut.apktool.Main.cmdInstallFramework(Main.java:249) at brut.apktool.Main.main(Main.java:91) 而反编译我的框架就可以,怎么办,求解,卸载重装试过了,格机试过了,出厂也试过了,在apktool里建framework文件夹也试过了,求解
apktool问题,急,求大神!!! 我的apktool昨天早上还好好的,昨天晚上导入一个朋友的framework后反编译我的systemUI.apk就出现以下代码 W: Could not decode attr value, using undecoded value instead: ns=android, name=versionCode, value=0x0000000f W: Could not decode attr value, using undecoded value instead: ns=android, name=versionName, value=0x0000001e Exception in thread "main" java.lang.NullPointerException: at brut.androlib.res.decoder.XmlPullStreamDecoder$1.parseManifest(XmlPullStreamDecoder.java:101) at brut.androlib.res.decoder.XmlPullStreamDecoder$1.event(XmlPullStreamDecoder.java:67) at brut.androlib.res.decoder.XmlPullStreamDecoder.decode(XmlPullStreamDecoder.java:147) at brut.androlib.res.decoder.XmlPullStreamDecoder.decodeManifest(XmlPullStreamDecoder.java:161) at brut.androlib.res.decoder.ResFileDecoder.decodeManifest(ResFileDecoder.java:131) at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:288) at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:116) at brut.androlib.ApkDecoder.decode(ApkDecoder.java:106) at brut.apktool.Main.cmdDecode(Main.java:166) at brut.apktool.Main.main(Main.java:85) I: Using Apktool 2.0.0-Beta7 on SystemUI.apk I: Loading resource table... I: Decoding AndroidManifest.xml with resources... 导入我的framework就出现下面的代码 Exception in thread "main" brut.androlib.AndrolibException: Can't create directory: /apktool/framework at brut.androlib.res.AndrolibResources.getFrameworkDir(AndrolibResources.java:796) at brut.androlib.res.AndrolibResources.installFramework(AndrolibResources.java:690) at brut.androlib.Androlib.installFramework(Androlib.java:640) at brut.apktool.Main.cmdInstallFramework(Main.java:249) at brut.apktool.Main.main(Main.java:91) 而反编译我的框架就可以,怎么办,求解,卸载重装试过了,格机试过了,出厂也试过了,在apktool里建framework文件夹也试过了,求解
1 下一页