查看APK包名2种方法

方法1:adb shell "logcat | grep START" 

执行该命令,等一小会logcat输出信息完毕,然后点击要查看包名的APP,
我这里点击的是讯飞输入法,看到信息弹出的第一条,com.iflytek.inputmethod 就是讯飞输入法的包名
09-10 19:27:52.030  1594  1661 I ActivityManager: START u0 {flg=0x34000000
cmp=com.iflytek.inputmethod/.setting.container.CusPreferenceActivity (has extras)} from uid 10081 on display 0

 

方法2:apk包名和类名,可通过到AndroidManifest.xml文件查询得到
参考:https://blog.csdn.net/luzhenrong45/article/details/78195466
因此,如果有输入法的源代码,可直接跳转到第三步查看AndroidManifest.xml。但现实中大多数情况,我们都是只有apk,没有源码的。
这里以Google自家的 Gboard.apk 输入法为例,介绍一下配置Gboard输入法所需要的包名和类名获取方法。

第一步: 解压Gboard.apk文件,得到AndroidManifest.xml文件

apk文件可以直接使用解压工具进行解压,但是解压出来的AndroidManifest.xml使用文本编辑工具打开会发现是乱码的,因此需要对其进一步解析。

第二步: 反编译解析AndroidManifest.xml,得到正常可读的到AndroidManifest.xml

一般可以通过反编译工具AXMLPrinter2(点击可下载) 解析上一步得到的AndroidManifest.xml,使用方法如下:

 java -jar AXMLPrinter2.jar AndroidManifest.xml  > AndroidManifest.xml_new

    1
    2

第三步: 从解析后的 AndroidManifest.xml中得到包名和类名
解析后的 AndroidManifest.xml其实就是没有经过混淆加密的原文件, 文件内容大致如下:

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="26641613"
    android:versionName="6.4.16.162469584-release-armeabi-v7a"
    coreApp="true"
    package="com.google.android.inputmethod.latin" --->这个就是输入法要配置的包名,位于文件开头!
    platformBuildVersionCode="26"
    platformBuildVersionName="8.0.0"
>

<application
    android:theme="@7F110010"
    android:label="@7F10016B"
    android:icon="@7F030000"
    android:name="com.google.android.apps.inputmethod.latin.LatinApp"
    android:debuggable="false"
    android:backupAgent="com.google.android.apps.inputmethod.latin.core.LatinBackupAgent"
    android:allowBackup="true"
    android:killAfterRestore="false"
    android:restoreAnyVersion="true"
    android:supportsRtl="true"
    android:roundIcon="@7F030001"
    >
    <meta-data
        android:name="com.google.android.backup.api_key"
        android:value="AEdPqrEAAAAIl3fO6Spo7vqdonbORA0gOqfXPTnKWTdG6eHJNA"
        >
    </meta-data>
    <service
        android:label="@7F10016B"
        android:name="com.android.inputmethod.latin.LatinIME"
        android:permission="android.permission.BIND_INPUT_METHOD"
        android:directBootAware="true"
        >

    ...(此处略去N多内容)

    <service
        android:label="@7F10016B"
        android:name="com.android.inputmethod.latin.LatinIME"  
        android:permission="android.permission.BIND_INPUT_METHOD" ---> 找到 “android.permission.BIND_INPUT_METHOD” 这个权限的标签组件
        android:directBootAware="true"
    >

注意:包含“android.permission.BIND_INPUT_METHOD”这个权限声明的标签组件,其指定的android:name就是要配置的输入法的类名,
在这里具体是指 “com.android.inputmethod.latin.LatinIME”

<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:versionCode="26641613"
    android:versionName="6.4.16.162469584-release-armeabi-v7a"
    coreApp="true"
    package="com.google.android.inputmethod.latin" --->这个就是输入法要配置的包名,位于文件开头!
    platformBuildVersionCode="26"
    platformBuildVersionName="8.0.0"
>

<application
    android:theme="@7F110010"
    android:label="@7F10016B"
    android:icon="@7F030000"
    android:name="com.google.android.apps.inputmethod.latin.LatinApp"
    android:debuggable="false"
    android:backupAgent="com.google.android.apps.inputmethod.latin.core.LatinBackupAgent"
    android:allowBackup="true"
    android:killAfterRestore="false"
    android:restoreAnyVersion="true"
    android:supportsRtl="true"
    android:roundIcon="@7F030001"
    >
    <meta-data
        android:name="com.google.android.backup.api_key"
        android:value="AEdPqrEAAAAIl3fO6Spo7vqdonbORA0gOqfXPTnKWTdG6eHJNA"
        >
    </meta-data>
    <service
        android:label="@7F10016B"
        android:name="com.android.inputmethod.latin.LatinIME"
        android:permission="android.permission.BIND_INPUT_METHOD"
        android:directBootAware="true"
        >

    ...(此处略去N多内容)

    <service
        android:label="@7F10016B"
        android:name="com.android.inputmethod.latin.LatinIME"  
        android:permission="android.permission.BIND_INPUT_METHOD" ---> 找到 “android.permission.BIND_INPUT_METHOD” 这个权限的标签组件
        android:directBootAware="true"
    >

注意:包含“android.permission.BIND_INPUT_METHOD”这个权限声明的标签组件,其指定的android:name就是要配置的输入法的类名,
在这里具体是指 “com.android.inputmethod.latin.LatinIME”

因此,便可知,如果要配置Gboard为出厂默认输入法,即可将上面介绍的config_default_input_method配置为如下:

com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME

com.google.android.inputmethod.latin/.LatinIME (这里是类名的简写)

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为了将Vue打包成APK,你可以使用Vue Cordova这方法。下面是具体的步骤: 1. 首先,你需要创建一个Cordova项目。你可以使用以下命令在终端中创建一个Cordova项目: ``` cordova create cordova-app com.ysh mapp ``` 这将创建一个名为"cordova-app"的Cordova项目。你可以根据自己的需求来更改项目名称和包名。 2. 接下来,你需要全局安装Cordova。你可以使用以下命令在终端中全局安装Cordova: ``` npm install -g cordova ``` 这将安装最新版本的Cordova。 3. 现在,你可以开始使用Vue Cordova来打包APK了。你可以按照以下步骤进行操作: - 首先,确保你已经在Vue项目的根目录中。如果不是,请先进入到该目录。 - 然后,运行以下命令来添加Cordova平台(这里我们以Android平台为例): ``` vue add cordova-android ``` - 接下来,你可以使用以下命令来构建APK: ``` vue cordova build android ``` 这将构建一个Android的APK文件,文件路径为`/cordova-app/platforms/android/app/build/outputs/apk/debug/app-debug.apk`。你可以在设备上安装和测试这个APK文件。 需要注意的是,你需要在创建Cordova项目和构建APK之前,已经安装好了Vue CLI和Cordova插件。希望以上步骤能帮助到你!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue打包apk文件,vue+cordova打包Android的apk](https://blog.csdn.net/qq_41619796/article/details/106615917)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值