- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在启动应用程序的 MainActivity 时,它会立即崩溃。当我查看 adb 日志时,我只能找到这个,
Exception thrown when launching activities in ProcessRecord
java.lang.IllegalArgumentException: val.length > 91
at SystemProperties.set
当我查看android的源代码时,我发现这可能是问题的根源Android Source Code Of SystemProperties.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 个字符时,它可以正常工作。
可能是什么问题?这只发生在 Asus Zenfone 2 (Lolipop 5.0) 型号上。
其他设备没有问题。由于这个问题,我们收到了很多负面评价。
Our app already have 15K downloads in the play store. so changing the app's package name is not an option for me. Please help
更新
更准确地说,有
除了华硕 Zenfone 系列以外,我们测试的所有安卓手机都没有问题
正如@ViswanathLekshmanan 在评论中提到的,我将 MainAcitivity.java 文件的位置更改为较低的路径。
即,原始完整包名是:- “com.fourbigbrothers.malayalam_troll_greetings_maker_edit_movie_images_font_seasonal_photo_comments.activities.MainActivity”
我将其更改为:- “com.fourbigbrothers.mtm.activities.MainActivity”
还是不行。我在 onCreate of MainActivity 中放了一些日志,但代码执行根本没有到达那里。所以我不知道在哪里放置一些答案中提到的 try/catch block 。
是否有任何使用 android ndk 的解决方案?对不起,如果这是一个愚蠢的问题,我完全迷路了。
这是 list 的相关部分
<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>
最佳答案
属性系统是android上的一个重要功能。它作为服务运行并管理系统配置和状态。所有这些配置和状态都是属性。属性是一个键/值对,两者都是字符串类型。从功能上看,它与windows注册表非常相似。许多 android 应用程序和库直接或间接依赖此功能来确定其运行时行为。例如,adbd 进程查询属性服务以检查它是否在模拟器中运行。另一个例子是 java.io.File.pathSeparator
返回存储在属性服务中的值。
属性系统的高层架构如下所示。
我强烈建议你走过建议的answer .为什么?
看看property_service.h .这是一个在你执行时会调用的类 SystemProperties.set
native 方法。如果您尝试设置 native_set(key,val) 您将不会得到肯定的结果,因为 is_legal_property_name方法,在 native 级别检查属性规则。
When I give it a guess, i found that, my application's package name is 108 characters long. And when I changed my app's package name to 60 characters, it worked without any problem.
只是猜测。关注 SystemProperties
就像 Android 中的 SharedPreference 类似物。您不需要将 Activity 的完整路径设置为 key
.只需输入一个名称。或者带有前缀或类似的东西。
经过多次搜索,我找到了 source native SystemProperties 文件。他还定义了92
作为值的最大长度和32
作为 key 的最大长度。所以这是对Linux底层的限制。你只能通过剪掉你的key
来解决这个问题。值(在您的情况下为 <package_name>
.MainActivity)
http://rxwen.blogspot.com/2010/01/android-property-system.html
关于java - ActivityManager : Exception thrown when launching activities java. lang.IllegalArgumentException : val. 长度 > 91,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36820170/
将 KLV 字符串拆分为键、长度、值作为元素的列表/元组的更有效方法是什么? 为了添加一点背景,前 3 位数字作为键,接下来的 2 位表示值的长度。 我已经能够使用以下代码解决该问题。但我不认为我的代
首先,我试图从文件中提取视频持续时间,然后在无需实际上传文件的情况下显示它。 当用户选择视频时 - 信息将显示在其下方,包括文件名、文件大小、文件类型。不管我的技能多么糟糕 - 我无法显示持续时间。我
我是 Scala 编程新手,这是我的问题:如何计算每行的字符串数量?我的数据框由一列 Array[String] 类型组成。 friendsDF: org.apache.spark.sql.DataF
我有一个React Web应用程序(create-react-app),该应用程序使用react-hook-forms上传歌曲并使用axios将其发送到我的Node / express服务器。 我想确
如果给你一个网络掩码(例如 255.255.255.0),你如何在 Java 中获得它的长度/位(例如 8)? 最佳答案 如果您想找出整数低端有多少个零位,请尝试 Integer.numberOfTr
我需要使用 jQuery 获取 div 数量的长度。 我可以得到它,但在两个单击事件中声明变量,但这似乎是错误的,然后我还需要使用它来根据数字显示隐藏按钮。我觉得我不必将代码加倍。 在这里摆弄 htt
我对此感到非常绝望,到目前为止我在 www 上找不到任何东西。 情况如下: 我正在使用 Python。 我有 3 个数组:x 坐标、y 坐标和半径。 我想使用给定的 x 和 y 坐标创建散点图。 到目
我有一个表单,我通过 jQuery 的加载函数动态添加新的输入和选择元素。有时加载的元素故意为空,在这种情况下我想隐藏容器 div,这样它就不会破坏样式。 问题是,我似乎无法计算加载的元素,因此不知道
我决定通过替换来使我的代码更清晰 if (wrappedSet.length > 0) 类似 if (wrappedSet.exists()) 是否有任何 native jq 函数可以实现此目的?或者
简单的问题。如果我有一个如下表: CREATE TABLE `exampletable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `textfield`
我正在使用经典 ASP/MySQL 将长用户输入插入到我的数据库中,该输入是从富文本编辑器生成的。该列设置为 LONG-TEXT。 作为参数化查询(准备语句)的新手,我不确定用于此特定查询的数据长度。
我正在获取 Stripe 交易费用的值(value)并通过禁用的文本字段显示它。 由于输入文本域,句子出现较大空隙 This is the amount $3.50____________that n
我有一个 div,其背景图像的大小设置为包含。但是,图像是视网膜计算机(Macbook Pro 等)的双分辨率图像,所以我希望能够以某种方式让页面知道即使我说的是背景大小:包含 200x200 图像,
我正在开发一个具有“已保存”和“已完成”模块的小部件。当我删除元素时,它会从 dom 中删除/淡化它,但是当我将其标记为完成时,它会将其克隆到已完成的选项卡。这工作很棒,但顶部括号内的数字不适合我。这
我有一个来自 json 提要的数组,我知道在 jArray 中有一个联盟,但我需要计算出该数组的计数,以防稍后将第二个添加到提要中。目前 log cat 没有注销“teamFeedStructure”
目标:给定一个混合类型的数组,确定每个级别的元素数量。如果同一层有两个子数组,则它们的每个元素都计入该层元素的总数。 方法: Array.prototype.elementsAtLevels = fu
我需要帮助为 Java 中的单链表制作 int size(); 方法。 这是我目前所拥有的,但它没有返回正确的列表大小。 public int size() { int size = 0;
我正在为学校作业创建一个文件服务器应用程序。我目前拥有的是一个简单的 Client 类,它通过 TCP 发送图像,还有一个 Server 类接收图像并将其写入文件。 这是我的客户端代码 import
我有这对功能 (,) length :: Foldable t => t a -> b -> (Int, b) 和, head :: [a] -> a 我想了解的类型 (,) length he
我正在GitHub Pages上使用Jekyll来构建博客,并希望获得传递给YAML前题中Liquid模板的page.title字符串的长度,该字符串在每个帖子的YAML主题中。我还没有找到一种简单的
我是一名优秀的程序员,十分优秀!