解决:Application package 'AndroidManifest.xml' must have a minimum of 2 segments.

转载自: http://blog.csdn.net/modiagame/article/details/6080287
解决:Application package 'AndroidManifest.xml' must have a minimum of 2 segments.
在移植J2ME API测试项目时,一直碰到一个问题得不到解决就是AndroidManifest.xml下的package参数值问题,在Android开发环境中要求package包名必须是二级以上否则编译时
Application package 'AndroidManifest.xml' must have a minimum of 2 segments.这个问题一直让我头疼,因为大量J2ME项目中其主类可能只是一级包名,刚开始只能忍着利用Eclipse重构包名,还好这个方便
可毕竟只能治标不治本,后来想到一个方法:先写个启动的有二级包名的主Activity,然后利用Intent机制在这个Activity去启动另外一个,理论上是通的,可是绕来绕去有回到了这个package参数值问题,因为测
试中发现要想通Intent成功启动另外一个Activity,首先必须在AndroidManifest.xml(可以本应用的也可以是另外一个应用的)下定义这个Activity,如果你不定义那就去见一大堆的:
ERROR/AndroidRuntime(1550): android.content.ActivityNotFoundException: Unable to find explicit activity class {finger.mobeasy/test.cjm.Report}; have you declared this activity in your AndroidManifest.xml?
后来实在没招:就硬硬生生的在AndroidManifest.xml定义了全名Activity没想OK了,原来其实可以这样定义,只能怪自己理解有误,没仔细看API文档
摘自android API中 NativeActivity介绍

A typical manifest would look like:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.native_activity"
        android:versionCode="1"
        android:versionName="1.0">

    <!-- This is the platform API where NativeActivity was introduced. -->
    <uses-sdk android:minSdkVersion="8" />

    <!-- This .apk has no Java code itself, so set hasCode to false. -->
    <application android:label="@string/app_name"android:hasCode="false">

        <!-- Our activity is the built-in NativeActivity framework class.
             This will take care of integrating with our NDK code. -->
        <activity android:name="android.app.NativeActivity"
                android:label="@string/app_name"
                android:configChanges="orientation|keyboardHidden">
            <!-- Tell NativeActivity the name of or .so -->
            <meta-data android:name="android.app.lib_name"
                    android:value="native-activity" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>

</manifest>


自己对于这个问题一些见解:

可能在创建的时候出现一些问题,
1.Android跟Java是不一样的,不能采用缺省包来定义,而且还要是二级包名以上(ex:com.android.name)
2.AndroidManifest.xml 缺少一些属性,可以参照一下文章提供的代码段。
虽然不是说所有东西都必须要的,但是我觉得既然人家默认创建的时候会有这些东西,那么就老老实实去写足给它,这一两句代码不会说影响到什么东西的。有时候还能让自己注意到一些细节的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值