apk反编译修改教程系列---简单修改apk默认横竖屏显示 手机端与电脑端同步演示【十一】

往期教程:

apk反编译修改教程系列-----修改apk应用名称 任意修改名称 签名【一】

apk反编译修改教程系列-----任意修改apk版本号 版本名 防止自动更新【二】

apk反编译修改教程系列-----修改apk中的图片 任意更换apk桌面图片【三】

apk反编译修改教程系列---简单去除apk联网权限 其他权限 无法自动更新等【四】

apk反编译修改教程系列---简单去除apk开屏广告【五】

apk反编译修改教程系列---修改apk设置菜单选项名称 修改默认设置 增加减少选项【六】
apk反编译修改教程系列---简单给app添加启动弹窗 添加对话框 跳转指定网页等【七】

安卓玩机-----给app加注册码 app加弹窗 云注入弹窗

apk反编译修改教程系列---如何简单的汉化apk 手机端与电脑端同步演示【八】

apk反编译修改教程系列---修改apk包名等信息 让一个应用拥有无限分身 手机电脑同步演示【九】

apk反编译修改教程系列---修改apk的默认颜色 布局颜色 手机电脑同步演示【十】

很多软件他不具备横竖屏幕自动切换功能。尤其在很多平板安装软件中比较常见。当然有类似的工具可以强制操作,今天主要解析下如何简单的反编译修改apk让其固定屏幕显示。

操作步骤;

演示apk;小米计算器

工具:MT或者电脑端反编译工具

电脑端反编译工具
小米计算器正常打开是这样的。默认竖屏

常规操作--找到小米计算器apk。统一步骤、反编译apk后打开AndroidManifest.xml文件在其中查找portrait字符。查找到后替换为landscape.意思是默认竖屏修改为横屏。步骤很简单

电脑端:

修改后回编译。然后签名安装

手机端:

打开apk选择查看----选择AndroidManifest.xml文件---选择反编译。搜索portrait---全部替换为landscape。然后回编译签名安装即可

效果:

原代码

复制代码
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="29" android:compileSdkVersionCodename="10" package="com.miui.calculator" platformBuildVersionCode="30000056" platformBuildVersionName="12.0.26">
    <permission android:name="com.miui.calculator.permission.SHOW_FLOAT_WINDOW" android:protectionLevel="privileged|signature"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.GET_TASKS"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <uses-permission android:name="com.xiaomi.market.sdk.UPDATE"/>
    <uses-permission android:name="com.miui.securitycenter.permission.SYSTEM_PERMISSION_DECLARE"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <application android:allowBackup="false" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@drawable/app_icon" android:label="@string/app_name" android:name="com.miui.calculator.CalculatorApplication" android:supportsRtl="true">
        <meta-data android:name="android.max_aspect" android:value="2.2"/>
        <meta-data android:name="app_description_title" android:resource="@string/uninstall_warning_title"/>
        <meta-data android:name="app_description_content" android:resource="@string/uninstall_warning_content"/>
        <meta-data android:name="mi_stat_channel" android:value="miui"/>
        <meta-data android:name="required_permissions" android:value="@string/required_permissions"/>
        <meta-data android:name="use_miui_font" android:value="true"/>
        <activity android:exported="true" android:label="@string/app_name" android:launchMode="singleTop" android:name="com.miui.calculator.cal.CalculatorActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.Simple.ActionBar.NoTitle" android:windowSoftInputMode="stateAlwaysHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.APP_CALCULATOR"/>
                <category android:name="miui.intent.category.SYSAPP_TOOL"/>
            </intent-filter>
            <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts"/>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:host="com.miui.calculator" android:path="/home" android:scheme="calculator"/>
            </intent-filter>
            <intent-filter>
                <action android:name="mi.quicksearch.intent.action.RETRIEVE"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <meta-data android:name="mi.quicksearch.hints" android:resource="@xml/mi_quicksearch_hints"/>
            <intent-filter>
                <action android:name="android.intent.action.SEARCH"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="com.miui.calculator.action.SCIENTIFIC_MODE"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="com.miui.calculator.action.CONVERT"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <meta-data android:name="functionindex" android:resource="@xml/functionindex"/>
        </activity>
        <activity android:exported="true" android:label="@string/app_name" android:name="com.miui.calculator.cal.CalculatorTabActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.Translucent.ActionBar.NoTitle" android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity android:exported="true" android:label="@string/app_name" android:name="com.miui.calculator.cal.DefaultCalculatorActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.Translucent" android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity android:exported="true" android:label="@string/app_name" android:name="com.miui.calculator.cal.AllInOneCalculatorActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.Simple" android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity android:label="@string/tax_city_picker" android:name="com.miui.calculator.tax.CityPickerActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.ActionBar"/>
        <activity android:label="@string/tax_individual_income_tax_result" android:name="com.miui.calculator.tax.ResultOfTaxActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.ActionBar"/>
        <activity android:label="@string/tax_individual_income_tax_result" android:name="com.miui.calculator.tax.ResultOfMortgageActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.ActionBar"/>
        <activity android:exported="true" android:label="@string/wf_word_figure" android:name="com.miui.calculator.wordfigure.WordFigureActivity" android:screenOrientation="portriat"/>
        <activity android:exported="true" android:label="@string/convertion_unit" android:name="com.miui.calculator.convert.ConvertActivity" android:screenOrientation="portriat"/>
        <activity android:exported="true" android:label="@string/convert_currency" android:name="com.miui.calculator.convert.CurrencyActivity" android:screenOrientation="portriat"/>
        <activity android:exported="true" android:label="@string/item_title_relationship" android:name="com.miui.calculator.relationship.RelationshipActivity" android:screenOrientation="portriat"/>
        <activity android:exported="true" android:name="com.miui.calculator.cal.CalSettingsActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Settings"/>
        <activity android:exported="true" android:label="@string/extra_deduction_title" android:name="com.miui.calculator.tax.ExtraDeductionPickActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.Simple"/>
        <activity android:excludeFromRecents="true" android:exported="false" android:label="" android:name="com.miui.calculator.tax.LicenseActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.LicenseActivity"/>
        <activity android:exported="true" android:label="@string/convertion_unit_radix" android:name="com.miui.calculator.convert.RadixActivity" android:screenOrientation="portriat"/>
        <activity android:label="@string/item_title_bmi" android:name="com.miui.calculator.convert.BmiActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Bmi" android:windowSoftInputMode="adjustResize"/>
        <activity android:label="@string/item_title_result" android:name="com.miui.calculator.convert.BmiResultActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.Simple"/>
        <activity android:exported="false" android:label="@string/tax_insurance_and_fund" android:name="com.miui.calculator.cal.FiveInsuranceActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.Simple"/>
        <activity android:label="@string/histories" android:name="com.miui.calculator.cal.HistoryActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.Translucent"/>
        <activity android:label="@string/histories" android:name="com.miui.calculator.cal.HistoryFromSettingActivity" android:screenOrientation="portriat" android:theme="@style/Calculator.Theme.Light.HistoryFromSettingActivity"/>
        <service android:configChanges="keyboardHidden|layoutDirection|locale|orientation|screenLayout|screenSize" android:name="com.miui.calculator.floatwindow.FloatWindowService" android:permission="com.miui.calculator.permission.SHOW_FLOAT_WINDOW">
            <intent-filter>
                <action android:name="miui.intent.calculator.FLOAT_WINDOW_SERVICE"/>
            </intent-filter>
        </service>
        <receiver android:name="com.xiaomi.market.sdk.DownloadCompleteReceiver">
            <intent-filter>
                <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
            </intent-filter>
        </receiver>
        <provider android:authorities="your_package_name.selfupdate.fileprovider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
        </provider>
        <receiver android:exported="true" android:name="com.miui.voiceassist.mvs.client.MvsClientReceiver" android:permission="com.miui.voiceassist.MVS_BROADCAST">
            <intent-filter>
                <action android:name="com.miui.voiceassist.mvs.client.ACTION_RESGISTER_MVS"/>
            </intent-filter>
        </receiver>
        <meta-data android:name="com.miui.maml.sdk" android:value="true"/>
        <meta-data android:name="springback" android:value="1.0"/>
        <meta-data android:name="recyclerview" android:value="1.0"/>
        <meta-data android:name="nest" android:value="1.0"/>
        <meta-data android:name="dynamicoverscroller" android:value="1.0"/>
        <meta-data android:name="recyclerview_animator" android:value="1.0"/>
        <meta-data android:name="folme" android:value="1.0"/>
        <meta-data android:name="core" android:value="1.0"/>
        <meta-data android:name="viewpager" android:value="1.0"/>
        <meta-data android:name="spring" android:value="1.0"/>
        <meta-data android:name="animation" android:value="1.0"/>
    </application>
</manifest>

修改后的代码

复制代码
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:compileSdkVersion="29" android:compileSdkVersionCodename="10" package="com.miui.calculator" platformBuildVersionCode="30000056" platformBuildVersionName="12.0.26">
    <permission android:name="com.miui.calculator.permission.SHOW_FLOAT_WINDOW" android:protectionLevel="privileged|signature"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.GET_TASKS"/>
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
    <uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW"/>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <uses-permission android:name="com.xiaomi.market.sdk.UPDATE"/>
    <uses-permission android:name="com.miui.securitycenter.permission.SYSTEM_PERMISSION_DECLARE"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <application android:allowBackup="false" android:appComponentFactory="androidx.core.app.CoreComponentFactory" android:icon="@drawable/app_icon" android:label="@string/app_name" android:name="com.miui.calculator.CalculatorApplication" android:supportsRtl="true">
        <meta-data android:name="android.max_aspect" android:value="2.2"/>
        <meta-data android:name="app_description_title" android:resource="@string/uninstall_warning_title"/>
        <meta-data android:name="app_description_content" android:resource="@string/uninstall_warning_content"/>
        <meta-data android:name="mi_stat_channel" android:value="miui"/>
        <meta-data android:name="required_permissions" android:value="@string/required_permissions"/>
        <meta-data android:name="use_miui_font" android:value="true"/>
        <activity android:exported="true" android:label="@string/app_name" android:launchMode="singleTop" android:name="com.miui.calculator.cal.CalculatorActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.Simple.ActionBar.NoTitle" android:windowSoftInputMode="stateAlwaysHidden">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.LAUNCHER"/>
                <category android:name="android.intent.category.APP_CALCULATOR"/>
                <category android:name="miui.intent.category.SYSAPP_TOOL"/>
            </intent-filter>
            <meta-data android:name="android.app.shortcuts" android:resource="@xml/shortcuts"/>
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:host="com.miui.calculator" android:path="/home" android:scheme="calculator"/>
            </intent-filter>
            <intent-filter>
                <action android:name="mi.quicksearch.intent.action.RETRIEVE"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <meta-data android:name="mi.quicksearch.hints" android:resource="@xml/mi_quicksearch_hints"/>
            <intent-filter>
                <action android:name="android.intent.action.SEARCH"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="com.miui.calculator.action.SCIENTIFIC_MODE"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <intent-filter>
                <action android:name="com.miui.calculator.action.CONVERT"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
            <meta-data android:name="functionindex" android:resource="@xml/functionindex"/>
        </activity>
        <activity android:exported="true" android:label="@string/app_name" android:name="com.miui.calculator.cal.CalculatorTabActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.Translucent.ActionBar.NoTitle" android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity android:exported="true" android:label="@string/app_name" android:name="com.miui.calculator.cal.DefaultCalculatorActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.Translucent" android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity android:exported="true" android:label="@string/app_name" android:name="com.miui.calculator.cal.AllInOneCalculatorActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.Simple" android:windowSoftInputMode="stateAlwaysHidden"/>
        <activity android:label="@string/tax_city_picker" android:name="com.miui.calculator.tax.CityPickerActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.ActionBar"/>
        <activity android:label="@string/tax_individual_income_tax_result" android:name="com.miui.calculator.tax.ResultOfTaxActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.ActionBar"/>
        <activity android:label="@string/tax_individual_income_tax_result" android:name="com.miui.calculator.tax.ResultOfMortgageActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.ActionBar"/>
        <activity android:exported="true" android:label="@string/wf_word_figure" android:name="com.miui.calculator.wordfigure.WordFigureActivity" android:screenOrientation="landscape"/>
        <activity android:exported="true" android:label="@string/convertion_unit" android:name="com.miui.calculator.convert.ConvertActivity" android:screenOrientation="landscape"/>
        <activity android:exported="true" android:label="@string/convert_currency" android:name="com.miui.calculator.convert.CurrencyActivity" android:screenOrientation="landscape"/>
        <activity android:exported="true" android:label="@string/item_title_relationship" android:name="com.miui.calculator.relationship.RelationshipActivity" android:screenOrientation="landscape"/>
        <activity android:exported="true" android:name="com.miui.calculator.cal.CalSettingsActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Settings"/>
        <activity android:exported="true" android:label="@string/extra_deduction_title" android:name="com.miui.calculator.tax.ExtraDeductionPickActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.Simple"/>
        <activity android:excludeFromRecents="true" android:exported="false" android:label="" android:name="com.miui.calculator.tax.LicenseActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.LicenseActivity"/>
        <activity android:exported="true" android:label="@string/convertion_unit_radix" android:name="com.miui.calculator.convert.RadixActivity" android:screenOrientation="landscape"/>
        <activity android:label="@string/item_title_bmi" android:name="com.miui.calculator.convert.BmiActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Bmi" android:windowSoftInputMode="adjustResize"/>
        <activity android:label="@string/item_title_result" android:name="com.miui.calculator.convert.BmiResultActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.Simple"/>
        <activity android:exported="false" android:label="@string/tax_insurance_and_fund" android:name="com.miui.calculator.cal.FiveInsuranceActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.Simple"/>
        <activity android:label="@string/histories" android:name="com.miui.calculator.cal.HistoryActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.Translucent"/>
        <activity android:label="@string/histories" android:name="com.miui.calculator.cal.HistoryFromSettingActivity" android:screenOrientation="landscape" android:theme="@style/Calculator.Theme.Light.HistoryFromSettingActivity"/>
        <service android:configChanges="keyboardHidden|layoutDirection|locale|orientation|screenLayout|screenSize" android:name="com.miui.calculator.floatwindow.FloatWindowService" android:permission="com.miui.calculator.permission.SHOW_FLOAT_WINDOW">
            <intent-filter>
                <action android:name="miui.intent.calculator.FLOAT_WINDOW_SERVICE"/>
            </intent-filter>
        </service>
        <receiver android:name="com.xiaomi.market.sdk.DownloadCompleteReceiver">
            <intent-filter>
                <action android:name="android.intent.action.DOWNLOAD_COMPLETE"/>
            </intent-filter>
        </receiver>
        <provider android:authorities="your_package_name.selfupdate.fileprovider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/>
        </provider>
        <receiver android:exported="true" android:name="com.miui.voiceassist.mvs.client.MvsClientReceiver" android:permission="com.miui.voiceassist.MVS_BROADCAST">
            <intent-filter>
                <action android:name="com.miui.voiceassist.mvs.client.ACTION_RESGISTER_MVS"/>
            </intent-filter>
        </receiver>
        <meta-data android:name="com.miui.maml.sdk" android:value="true"/>
        <meta-data android:name="springback" android:value="1.0"/>
        <meta-data android:name="recyclerview" android:value="1.0"/>
        <meta-data android:name="nest" android:value="1.0"/>
        <meta-data android:name="dynamicoverscroller" android:value="1.0"/>
        <meta-data android:name="recyclerview_animator" android:value="1.0"/>
        <meta-data android:name="folme" android:value="1.0"/>
        <meta-data android:name="core" android:value="1.0"/>
        <meta-data android:name="viewpager" android:value="1.0"/>
        <meta-data android:name="spring" android:value="1.0"/>
        <meta-data android:name="animation" android:value="1.0"/>
    </application>
</manifest>

反编译工具的不同反编译后的文件也有差异。这个初学者要明白。同一个软件。很多工具反编译后会找不到修改的选项。但使用另外的工具反编译后有可以。主要是反编译工具的编译机制有所不同.类似的反编译效果其实有很多第三方工具可以强制修改。但教程的目的是让学习的友友了解反编译的具体操作和基本常识。

下期预告: ---apk反编译简单去广告演示步骤一

**系列教程只是让初学者了解反编译的一些初步常识,尽量每一步都图文说明。详细的由浅入深解析apk的各种反编译操作。有兴趣的友友可以关注

相关推荐
QN1幻化引擎3 天前
SFA 信号场注意力:用8KB参数换248x KV Cache压缩,边缘设备也能跑长序列
人工智能·算法·gitee·gitlab
J14818529146 天前
md文件图片在其他地方不能预览
gitee
Mark White8 天前
使用 Codex 自动完成 Gitee 仓库全托管
gitee
hkj88089 天前
vscode提交gitee远程仓库出现Permission denied (publickey)解决方法
ide·vscode·gitee
雪的季节10 天前
ffmpeg源码国内gitee下载
ffmpeg·gitee
御坂嘀喵12 天前
Speed Tools:一套低侵入的 Android 插件化 + 动态换肤 + 字体切换框架
android·gitee
风信子IT人18 天前
【5天实战】从零构建AI-Native组织:飞书+Bot+Gitee全链路自动化实战指南—Day 5:完整场景实操验证
gitee·自动化·飞书·ai-native·bot开发
zakariyaa3318 天前
Android 绘制调度机制
android·gitee
m0_526119401 个月前
ssh key生成,gitee配置ssh
运维·gitee·ssh
我最爱吃鱼香茄子1 个月前
【保姆级】Git配置用户名和邮箱(全局/局部)解决提交记录不识别、贡献图不亮问题
git·gitee·github·小白教程·git配置·程序员开发工具