ActivityManager: 启动活动 java.lang.IllegalArgumentException: val.length > 91 时引发的异常
启动应用程序的 MainActivity 时,它会立即崩溃。当我查找adb日志时,我只能找到这个,
Exception thrown when launching activities in ProcessRecord
  java.lang.IllegalArgumentException: val.length > 91
  at SystemProperties.set
当我查找Android的源代码时,我发现这可能是Android源代码系统属性问题的根源.java。它包含最大值限制 91。
    public static final int PROP_VALUE_MAX = 91; 
    public static String get(String key) { 
        if (key.length() > PROP_NAME_MAX) { 
            throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX); 
        } 
        return native_get(key); 
    } 
当我给它一个猜测时,我发现,我的应用程序的包名称是108个字符长。当我将应用程序的包名称更改为60个字符时,它可以正常工作,没有任何问题。
可能是什么问题?这只发生在华硕Zenfone 2(Lolipop 5.0)型号上。
任何其他设备都没有问题。由于这个问题,我们收到了很多负面评价。
我们的应用程序已经在Play商店中下载了15K。因此,更改应用程序的包名称对我来说不是一个选项。请帮忙
更新
更准确地说,有
我们测试过的所有Android手机都没有问题,除了华硕Zenfone系列
正如@ViswanathLekshmanan在注释中提到的,我将MainAcitivity.java文件的位置更改为较低的路径。
即,原始的完整软件包名称是:- “com.fourbigbrothers.malayalam_troll_greetings_maker_edit_movie_images_font_seasonal_photo_comments.activities.MainActivity”
我把它改成了:- “com.fourbigbrothers.mtm.activities.MainActivity”
仍然无法正常工作。我已经在创建MainActivity上放置了一些日志,但是代码执行根本没有到达那里。所以我不知道在哪里放置一个尝试/捕获块,如一些答案中提到的。
使用Android ndk会有什么解决方案吗?抱歉,如果这是一个愚蠢的问题,我完全迷失了。
这是清单的相关部分
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.fourbigbrothers.malayalam_troll_greetings_maker_edit_movie_images_font_seasonal_photo_comments" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application
    android:name="com.fourbigbrothers.boilerplate.base.FbbApplication"
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/Theme.FbbApp" >
    <activity
        android:name="com.fourbigbrothers.malayalam_troll_greetings_maker_edit_movie_images_font_seasonal_photo_comments.activities.MainActivity"
        android:label="@string/launcherActivityName"
        android:screenOrientation="portrait"
        android:launchMode="singleTop"
        android:theme="@style/MainActivityTheme" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="image/*" />
        </intent-filter>
    </activity>
</application>
 
					 
				
 
				    		 
				    		 
				    		 
				    		