如何在Android Studio 1中创建签名的apk时禁用Eclipse之类的错误

时间:2014-12-25 05:15:41

标签: java android eclipse android-studio android-gradle

我的班级有问题,但是当我运行它在我的手机上使用有线电脑到Android工作室运行良好,但是当我生成签名的apk然后我得到类错误如下

Error:Error: This fragment inner class should be static (app.browser.HomeActivity.MyWebBrowser) [ValidFragment]

我无法更改类静态,因为当我把静态这个子类上下文显示错误时,所以请帮我回答这个问题我想在生成签名apk时禁用此错误。请有人建议我。

我的代码..

public class HomeActivity extends FragmentActivity implements ActionBar.TabListener {


private ActionBar.Tab iTab;
static String TAB_TITLE="Untitle";
private ViewPager viewPager;
static TabsPageAdapter mAdapter;
static android.app.ActionBar actionBar;
Context context;
 Button btNewtab,btCloseTab,btTabCount;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);


    context=HomeActivity.this;

    objectReferences();
    createDir();

    actionBar =getActionBar();
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setHomeButtonEnabled(false);
    actionBar.setDisplayShowCustomEnabled(true);
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    actionBar.hide();
    mAdapter = new TabsPageAdapter(getSupportFragmentManager());
    viewPager.setAdapter(mAdapter);

        viewPager.setOffscreenPageLimit(500);
    viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener(){

        @Override
        public void onPageScrolled(int i, float v, int i2) {

        }

        @Override
        public void onPageSelected(int i) {
           // mAdapter.notifyDataSetChanged();

                PAGE_CURRENT=i;
            System.out.println("CURRENT PAGE DISCRIPTION : "+PAGE_CURRENT);


        }

        @Override
        public void onPageScrollStateChanged(int i) {

        }
    });




}

// _________________ TABS实施方法__________________________

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {

        viewPager.setCurrentItem(tab.getPosition());
   }

@Override
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
      }

@Override
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction fragmentTransaction) {
   }
public class TabsPageAdapter extends FragmentStatePagerAdapter {


    public TabsPageAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int i) {
        return new MyWebBrowser();
    }

    @Override
    public int getItemPosition(Object object) {
       return PagerAdapter.POSITION_NONE;
    }

    @Override
    public int getCount() {

        return COUNT_TAB;
    }

}

//____________________________________________
//_____________BROWSER CLASS____________________
//____________________________________________
public class MyWebBrowser extends Fragment implements View.OnClickListener,View.OnLongClickListener{

    View rootView;

    @SuppressLint("AddJavascriptInterface")
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        rootView = inflater.inflate(R.layout.my_web_browser, container, false);

       return rootView;
}

}

听听我因个人原因删除我的内容,请向我推荐一下,谢谢你们

3 个答案:

答案 0 :(得分:4)

我认为您应该尝试在build.gradle中添加以下脚本。 (必须写在android {}标签中)

lintOptions {
    abortOnError false
}

当你的发布版本通过lint生成错误时,构建任务不会中止。

答案 1 :(得分:0)

好的,首先你可以尝试将你的类更改为statci - Public class MyClass --> Public static class MyClass或者你可以转到你的eclipse设置然后转到lint首选项然后取消选中它所写的标记,以便在导出时完全检查错误。或者你可以像静态一样去除你的FragmentActivity。但是我建议你不要扩展任何其他东西而只是扩展活动,然后实现其余部分并在MainActivity.Hope中声明FragmentActivity,这会有所帮助。

答案 2 :(得分:0)

最后我解决了错误,只是添加了如下脚本并最好地考虑了Bill。

lintOptions {
abortOnError false}

在android {

}

感谢所有给我回答的人